Symfony 2:SwiftMailerの例外
-
27-10-2019 - |
質問
SwiftMailerを使用してSymfony 2メールを送信しています。
これがApp/config/config.ymlの私のswiftmailer構成です
swiftmailer:
transport: gmail
username: myusername@gmail.com
host: smtp.gmail.com
password: mypassword
また、メールを送信するようにXAMPP LocalHostを構成しました。
ユーザーが電子メールアドレス(最大5メール)、件名、メッセージを入力するフォームがあります。送信された電子メールのフォームの送信に関する最初のいくつかのテストの場合。私も実際にメールを受け取りました。しかし、その後、私はこのエラーを繰り返し以下で取得しています。
Username "myusername@gmail.com"を使用してSMTPサーバーで認証に失敗しました。
ここの問題は何ですか?また、XAMPPを停止してから再起動しようとしましたが、それでも問題は続きます。ここで問題が何であるかを知っている人はいますか?
ありがとうございました。
解決
郵送ホストを適切にセットアップしていないため、この問題に直面しています。まず、ようなサービスを使用することを強くお勧めします sendgrid 詳細なように構成します Symfony2メーリングセットアップチュートリアル:
mailer_transport: smtp
mailer_host: smtp.sendgrid.net
mailer_user: your_sendgrid_username
mailer_password: 'your_sendgrid_password'
mailer_port: 587
チュートリアルには、Symfony2でメーリングサービスを適切にセットアップする方法と、郵送テンプレートを構築する方法に関する詳細も含まれています。
しかし、あなたがまだGmailを使用したい場合、正しい構成は次のとおりです。
mailer_transport: smtp
mailer_host: smtp.gmail.com
mailer_user: your_gmail_address@gmail.com
mailer_password: 'your_gmail_password'
mailer_port: 587
他のヒント
私が覚えている限りでは host
価値は無視されます transport
に設定されています gmail
. 。問題については、SwiftMailerの最新バージョン(v4.1.5)を使用していることを確認してください。 changelogから:
- stream_socket_client()がエラーを生成し、代わりにswift_transportexceptionを投げることを防ぐ
一般に、認証が失敗した場合、タイプの例外 Swift_TransportException
投げられます。