我正在使用 Swiftmailer 在基于 Yii 的应用程序中发送电子邮件,它运行良好,因此 Swiftmailer 扩展包装器没有问题。但是现在我想使用 SMPT 传输来针对邮件服务器对我的应用程序中的用户进行身份验证。我正在使用的代码:
$SM = Yii::app()->swiftMailer;
$mailHost = 'XXX';
$mailPort = XXX;
// New transport
$transport = $SM->smtpTransport($mailHost, $mailPort);
$transport->setUsername($username);
$transport->setPassword($password);
$transport->start();
if($transport->isStarted()){
// authenticated;
}else{
// error;
}
$transport->stop();
这是行不通的。当我设置真实的登录凭据时立即登录。但是当我输入错误的凭据时,它会花费一些时间,但最后它也登录了。我不知道为什么会发生这种情况,因为只有在使用真实凭据时 Swiftmailer 才能发送电子邮件。我使用了正确的 API 函数?我做错了什么?