現在、Symfony 4アプリケーションで作業しており、Swift Mailerでメールを送信する必要があります。メールを送信すると、スプールされたメールを受信しますが、Gmailで取得できません。メールボックス:Gmailの設定で安全でないアプリを許可しました。
これは、.envファイルからのメーラーURLです:MAILER_URL = gmail://ep****@gmail.com:PASSWORD @ localhost
これは私のswiftmailer.yamlです:
#config/packages/swiftmailer.yaml
swiftmailer:
url: '%env(MAILER_URL)%'
spool: { type: 'memory' }
これは私のコントローラー機能です:
これは私が従ったドキュメントです: http://symfony.com/doc/current/email.html
私はこれらの質問をチェックしましたが、答えはくれません: Windows 10で実行されているローカルマシンからSymfony 4 Swiftmailerでメールを送信する方法? 、 mailer symfony 4は機能していません
助けてください。私は一日中解決策を探してきました。エラーは表示されませんが、メールが届きません。前もって感謝します。任意のリンクは私を助けることができます。
問題が解決しました!! URL env変数を使用する代わりに、この構成を配置します
swiftmailer:
transport: gmail
username: ****@gmail.com
password: *******
Host: localhost
port: 465
encryption: ssl
auth-mode: login
spool: { type: 'memory' }
stream_options:
ssl:
allow_self_signed: true
verify_peer: false
verify_peer_name: false
パーティーに遅れましたが、URL形式には完全な設定が必要です。 SwiftMailerがURLを解析して特定のトランスポート(gmail
など)を検出し、それ自体でリセットを構成するとは思わない。
次のフォーマットは私のために働いた:
MAILER_URL=smtp://smtp.gmail.com:587?encryption=tls&username=USERNAME&password=PASSWORD
私の経験では、SMTP経由のアクセスを防ぐため、Google SuiteまたはGmailアカウントで「 安全でないログインを許可 」を有効にする必要があります。
スプーラ行をコメントアウトします
swiftmailer:
url: '%env(MAILER_URL)%'
#spool: { type: 'memory' }
MAILER_URLはURLエンコードする必要があります。次のドキュメントをご覧ください: https://symfony.com/doc/current/email.html#configuration
パスワードにURLエンコードが必要な特殊文字が含まれている場合、機能しません。
それが役に立てば幸い。