使用FOSUserBundle发送电子邮件以确认注册

4

我使用FOSUserBundle在我的应用程序上执行登录/注册。

我希望通过发送确认电子邮件来让新用户确认他的电子邮件。

阅读了官方文档和不同的教程后,我遇到了相同的错误:

注册用户后,检查电子邮件页面出现,但我没有收到电子邮件。

这是我的配置:

#config/config.yml


swiftmailer:
    transport: "%mailer_transport%"
    host:      "%mailer_host%"
    username:  "%mailer_user%"
    password:  "%mailer_password%"
    spool:     { type: memory }

fos_user:
    db_driver:     orm                       
    firewall_name: main                      
    user_class:    VK\UserBundle\Entity\User 
    registration:
        confirmation:
            enabled: true
            from_email:
                address: my_username@gmail.com
                sender_name: Demo registration
    service:
        mailer: fos_user.mailer.twig_swift

这是我的参数。
config/parameters.yml

parameters:
    mailer_transport: smtp
    mailer_host: smtp.gmail.com
    mailer_encryption: ssl
    mailer_user: my_username@gmail.com
    mailer_password: my_password

请问有人能帮我解决这个问题吗?谢谢。
2个回答

1
我认为您的问题在于swiftmailer配置。请编辑您的参数为:
parameters:
    mailer_transport: gmail
    mailer_host:      ~
    mailer_user:      your_gmail_username
    mailer_password:  your_gmail_password

或者将加密和认证模式属性添加到您的实际配置中。
swiftmailer:
    transport: "%mailer_transport%"
    encryption:"%mailer_encryption%"
    host:      "%mailer_host%"
    username:  "%mailer_user%"
    password:  "%mailer_password%"
    auth_mode: "%mailer_auth_mode%"
    spool:     { type: memory }

parameters:
    mailer_auth_mode: login
    mailer_encryption: ssl
    mailer_host: smtp.gmail.com
    mailer_transport: smtp
    mailer_user: my_username@gmail.com
    mailer_password: my_password

Documentation can be found here.


谢谢回复,但我仍然遇到了相同的错误。没有电子邮件! - Valdèse Kamdem
我总是被重定向到检查电子邮件页面,但我没有收到电子邮件。 - Valdèse Kamdem
swiftmailer 配置中启用属性 logging: true 的数据收集器,然后检查您的分析器。接着检查 /var/log/maillog 文件是否有错误。 - Federkun
我尝试了,但没有收到电子邮件。而且我在我的电脑上没有这个目录 /var/log/maillog - Valdèse Kamdem
如果您没有使用Gmail帐户发送邮件,请检查您的计算机是否配置了邮件服务器。 - fito

1

你检查过你的Gmail了吗?我刚刚解决了我的问题。原来是

较不安全的应用程序访问权限已被关闭

。打开后,我收到了电子邮件。

mailer_transport: gmail
mailer_auth_mode: login
mailer_encryption: ssl
mailer_host: smtp.gmail.com
mailer_user: ************
mailer_password: ********

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接