簡體   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