使用Swiftmailer通过SMTP传输进行身份验证

时间:2013-02-12 20:06:28

标签: authentication yii smtp swiftmailer

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

1 个答案:

答案 0 :(得分:0)

查看the source,当您致电start()时,“始终”设置为“真”。

我不熟悉switfmailer,但看起来你想检查authenticate()的结果