Как мне отличить адрес от адреса электронной почты?используя Zend Framework - PullRequest
1 голос
/ 07 июля 2010

Прежде всего, я не собираюсь рассылать спам - я создаю почтовое средство в своем приложении и хотел бы иметь возможность включать любой адрес электронной почты в заголовок сообщения электронной почты, при этом отправляя его с любой почты. сервер, например, как показать адрес Yahoo в поле электронной почты от поля при отправке с моего собственного SMTP-сервера? Является ли это возможным? Я использую PHP и Zend Framework здесь

Ответы [ 3 ]

1 голос
/ 07 июля 2010

Следующее работает с sendmail и должно работать с sendmail-подобными серверами smtp. Если домен from не совпадает с доменом исходного сервера, вероятность быть помеченным как спам увеличивается.

$msg = 'my message body';
$subject = 'my message';
$to = 'email@example.com';
$from = "ali@yahoo.com";
$headers .= "From: $from\r\n";  
$flags = '-f "$from"';

mail($to, $subject, $msg, $headers, $flags);
1 голос
/ 07 июля 2010

Zend_Mail позволяет вам все это указать.

Настройка транспорта (во время начальной загрузки):

$tr = new Zend_Mail_Transport_Smtp($mail_smtp_host, array(
    'auth' => 'login',
    'username' => $mail_smtp_username,
    'password' => $mail_smtp_password,
    'port' => $mail_smtp_host_port,
));
Zend_Mail::setDefaultTransport($tr);

Отправка сообщения в любом месте вашего приложения:

$mail = new Zend_Mail();
$mail->setFrom($email_from, $email_from_name)
    ->addTo($email_to)
    ->addCc($email_cc)
    ->addBcc($email_bcc)
    ->setSubject($email_subject)
    ->setBodyHtml($email_html)
    ->setBodyText($email_text)
    ->send()
;
0 голосов
/ 07 июля 2010

Вы можете отправить через SMTP-сервер Yahoo.

smtp.mail.yahoo.com, SSL, порт 465, имя пользователя / пароль для адреса Yahoo.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...