symfony fosuserBundle,注册后无法发送确认邮件

时间:2018-04-10 18:14:54

标签: symfony fosrestbundle

Symfony似乎无法发送确认邮件,这是我的代码 我尝试了一切但没有结果。

这是 config.yml

的代码
fos_user:
    db_driver: orm 
    firewall_name: main
    user_class: BackOfficeBundle\Entity\User
    service:                               
        mailer: fos_user.mailer.twig_swift
    registration:
        confirmation:
            enabled: true
            from_email:
                address: '%mailer_user%'
                sender_name: '%mailer_user%'   
    from_email:
        address:  '%mailer_user%'
        sender_name: '%mailer_user%'

这是 parameters.yml

的代码
parameters:
    database_host: 127.0.0.1
    database_port: null
    database_name: fos
    database_user: root
    database_password: null
    mailer_transport: gmail
    mailer_auth_mode: login
    mailer_encryption: ssl
    mailer_host: smtp.gmail.com
    mailer_user: mail.mail@gmail.com
    mailer_password: 000000
    secret: ThisTokenIsNotSoSecretChangeIt

这是 config_dev.yml

的代码
swiftmailer:
    transport: gmail
    username:  '%mailer_user%'
    password:  '%mailer_password%'

The user is created and in description it said that i should check my email

任何建议都表示赞赏。

1 个答案:

答案 0 :(得分:0)

问题可能来自于您在没有有效证书的情况下在本地环境中进行测试,因此您无法建立与Gmail服务器的安全连接。

要使其有效,请尝试:

  • 通过创建应用密码并允许访问不太安全的应用来配置Gmail帐户(最好不要使用您的个人帐户),如this page底部所述。
  • 在swiftmailer配置中添加verify_peer选项设置为false
#config_dev.yml

swiftmailer:
    transport: gmail
    username:  '%mailer_user%'
    password:  '%mailer_password%'
    stream_options:
        ssl:
            verify_peer: false
  

请注意,此设置不安全,只能在开发中使用   没有敏感数据的快速测试环境。您还应该在swiftmailer配置中添加delivery_addresses选项,以将所有邮件发送到一个地址。