0

我正在使用 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 函数?我做错了什么?

4

1 回答 1

0

查看源代码,当您调用时start(),started 始终设置为 True。

我对 switfmailer 不熟悉,但看起来您需要检查 authenticate() 的结果

于 2013-02-14T17:13:24.850 回答