繁体   English   中英

Zend Framework中的SMTP身份验证

[英]SMTP Authentication in Zend Framework

这是一个场景; 我想使用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();

我的问题是,我们如何确保from地址(在本例中为'john.smith@localhost')实际存在并且它属于提供给SMTP连接的用户名和密码? 因为如果不是,那么我可以代表任何人发送电子邮件!

[UPDATE]

我相信我找到了自己问题的部分答案。 它应该通过IMAP / POP3协议来完成。 但是这两个协议接受用户名和密码以进行身份​​验证,因此您无法检查提供的用户名和电子邮件地址之间的关联。 那么问题是如何通过PHP和Zend Framework中的IMAP / POP3验证电子邮件地址?

SMTP允许以任何人的身份发送电子邮件。 这就是大多数面向安全的人促进使用数字签名的原因。

验证可以由SMTP本身完成。 例如,Gmail的SMTP将拒绝发送未附加到帐户的地址的电子邮件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM