web-dev-qa-db-ja.com

Symfony 4 SwiftMailer Gmail:メールは送信されません

現在、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' }

これは私のコントローラー機能です:

src/Controller/AccountController.php

After completing a form

これは私が従ったドキュメントです: http://symfony.com/doc/current/email.html

私はこれらの質問をチェックしましたが、答えはくれません: Windows 10で実行されているローカルマシンからSymfony 4 Swiftmailerでメールを送信する方法?mailer symfony 4は機能していません

助けてください。私は一日中解決策を探してきました。エラーは表示されませんが、メールが届きません。前もって感謝します。任意のリンクは私を助けることができます。

6
Salve Safari

問題が解決しました!! 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
11
Salve Safari

パーティーに遅れましたが、URL形式には完全な設定が必要です。 SwiftMailerがURLを解析して特定のトランスポート(gmailなど)を検出し、それ自体でリセットを構成するとは思わない。

次のフォーマットは私のために働いた:

MAILER_URL=smtp://smtp.gmail.com:587?encryption=tls&username=USERNAME&password=PASSWORD
2
ar34z

私の経験では、SMTP経由のアクセスを防ぐため、Google SuiteまたはGmailアカウントで「 安全でないログインを許可 」を有効にする必要があります。

1
shakaran

スプーラ行をコメントアウトします

swiftmailer:
url: '%env(MAILER_URL)%'
#spool: { type: 'memory' }
0
Smith

MAILER_URLはURLエンコードする必要があります。次のドキュメントをご覧ください: https://symfony.com/doc/current/email.html#configuration

パスワードにURLエンコードが必要な特殊文字が含まれている場合、機能しません。

それが役に立てば幸い。

0
Dbl0McJim