ホームページ  >  記事  >  バックエンド開発  >  SwiftMailer スクリプトが Gmail 経由でメールを送信できないのはなぜですか?

SwiftMailer スクリプトが Gmail 経由でメールを送信できないのはなぜですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-28 04:18:01718ブラウズ

Why is My SwiftMailer Script Failing to Send Emails via Gmail?

PHP の SwiftMailer を使用して Gmail 経由でメールを送信する

この質問は、Gmail アカウントで SwiftMailer を使用して自分自身にメールを送信しようとしたときに発生しました。 。 SwiftMailer のリファレンスに基づいてスクリプトに変更が加えられましたが、結果は得られませんでした。

問題は次の行から発生しました:

<code class="php">$result = $mailer->send($message);</code>

この行によりコードが失敗し、問題が発生したことが示されています。メッセージを送信しながら。メッセージが送信されず、その結果プログラムがクラッシュした可能性があります。

スクリプト コードは次のとおりです:

<code class="php">require_once '/var/www/swift/lib/swift_required.php';
echo 'Mail sent <br />';

$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 587)
  ->setUsername('example@gmail.com')
  ->setPassword('password');

echo 'line 40 <br />';
$mailer = Swift_Mailer::newInstance($transport);
$message = Swift_Message::newInstance('Wonderful Subject')
  ->setFrom(array('example@gmail.com' => 'Evaluaciones'))
  ->setTo(array('example@gmail.com' => 'A name'))
  ->setBody('Test Message Body');

echo 'line 52 <br />';
$result = $mailer->send($message);
echo $result;
echo 'line 58 <br />';</code>

この問題を解決するために、コードは次のように変更されました。以下:

<code class="php">$transporter = Swift_SmtpTransport::newInstance('smtp.gmail.com', 465, 'ssl')
  ->setUsername($this->username)
  ->setPassword($this->password);

$this->mailer = Swift_Mailer::newInstance($transporter);</code>

これにより問題が解決され、メッセージが正常に送信されるようになりました。

以上がSwiftMailer スクリプトが Gmail 経由でメールを送信できないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。