Отправка почты через почтовый ретранслятор с PHP - PullRequest
0 голосов
/ 15 апреля 2011

Я столкнулся с маленькой проблемой при использовании mail ().Я не смог отправить на адреса вне домена, где я размещал форму.Я понимаю, что это по соображениям безопасности, но это делает создание системы «отправить другу» немного сложнее.

Вот что я работал (хотя и отправлял только на мой адрес):

<?php

$senderName = $_POST['name'];
$friendsEmail = $_POST['friendsEmail'];

if ($_POST['formName'] == 'refer') {    
    $to = $friendsEmail;
    $subject = "$senderName has referred you";
    $message = "Message goes here";
    $headers = "MIME-Version: 1.0\r\n";
    $headers = "Content-Type: text/html; charset=ISO-8859-1\r\n";
    $headers .= 'From: Me <no-reply@test.com>' . "\r\n";
    mail($to,$subject,$message,$headers);
}

header("Location: referConfirm.html");
?>

Я разговаривал с моей хостинговой компанией, которая настроила почтовую ретрансляцию (ууу!).Проблема в том, что я понятия не имею, как получить то, что я работаю выше, через почтовый ретранслятор.У меня есть следующие данные:

IP: 000.000.000.000 Домен: domain.company.com UN: имя пользователя PW: пароль

(Подробности являются фиктивными.)

Может кто угоднодайте мне подсказку?

Спасибо, @ rrfive

1 Ответ

3 голосов
/ 15 апреля 2011

mail() использует настройки smtp / sendmail, найденные в php.ini.Если вам нужно отправить его через другой SMTP или письмо с аутентификацией (как в вашем примере), почты просто не достаточно.

Существуют хорошие почтовые библиотеки, просто назвать несколько:

Онивсе способны отправлять электронные письма через проверенный SMTP-сервер.

...