[英]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.