SMTP-аутентификация в Zend Framework - PullRequest
0 голосов
/ 05 марта 2012

Вот сценарий;Я хочу отправлять электронную почту, используя PHP и Zend Framework.Вот пример того, как это обычно делается:

$smtp = new \Zend_Mail_Transport_Smtp(array(
    'host'=> 'localhost'
    , 'auth' => 'login'
    , 'ssl' => 'TLS'
    , 'username' => 'john'
    , 'password' => '123'));
\Zend_Mail::setDefaultTransport($smtp);
$mail = new \Zend_Mail();
$mail->addTo('jane.smith@localhost', 'Jane Smith');
$mail->setSubject('Greetings');
$mail->setBodyText('Hi there');
$mail->setFrom('john.smith@localhost', 'John Smith');
$mail->send();

Мой вопрос: как мы можем убедиться, что адрес отправителя (в данном случае 'john.smith@localhost') действительно существует и принадлежитимя пользователя и пароль для подключения к SMTP?Потому что, если это не так, то я могу отправить электронное письмо от имени кого-либо!

[ОБНОВЛЕНИЕ]

Мне кажется, я нашел частичный ответ на свой вопрос.Это должно быть сделано через протоколы IMAP / POP3.Но все же эти два протокола принимают имя пользователя и пароль для проверки подлинности, и поэтому вы не можете проверить связь между предоставленным именем пользователя и адресом электронной почты.Поэтому вопрос заключается в том, как аутентифицировать адрес электронной почты через IMAP / POP3 в PHP и Zend Framework?

1 Ответ

2 голосов
/ 05 марта 2012

SMTP позволяет отправлять электронную почту как любой.Вот почему большинство людей, ориентированных на безопасность, поощряют использование цифровых подписей.

Проверка может быть выполнена самим SMTP.SMTP Gmail будет отказываться отправлять электронные письма, например, с адресом, не связанным с учетной записью.

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