0

Yii ベースのアプリケーションでメールを送信するために Swiftmailer を使用していますが、うまく機能するので、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 に答える