【问题标题】:FOSUserBundle doesn't send email account validationFOSUserBundle 不发送电子邮件帐户验证
【发布时间】:2016-08-17 09:53:01
【问题描述】:

我正在使用 Symfony 开发一个应用程序,我想为每个寄存器发送一封验证电子邮件。这是我的代码:

#config.yml
swiftmailer:
    transport: "%mailer_transport%"
    host:      "%mailer_host%"
    username:  "%mailer_user%"
    password:  "%mailer_password%"
    spool:     { type: memory }
fos_user:
    db_driver: orm # other valid values are 'mongodb', 'couchdb' and 'propel'
    firewall_name: main
    user_class: AppBundle\Entity\User
    from_email:
        address:        "example@mail.com"
        sender_name:    Demo Registration
    registration:
        confirmation:
            enabled: true
        service:
        mailer:               fos_user.mailer.default
        email_canonicalizer:  fos_user.util.canonicalizer.default
        token_generator:      fos_user.util.token_generator.default
        username_canonicalizer:  fos_user.util.canonicalizer.default
        user_manager:         fos_user.user_manager.default


#parameters.yml
    parameters:
        database_host: 127.0.0.1
        database_port: null
        database_name: @name
        database_user: @user
        database_password: @password
        mailer_transport: smtp 
        mailer_host: 127.0.0.1
        mailer_user: @mail
        mailer_password: @password
        secret: @secret

我想使用 gmail 作为电子邮件发件人。 感谢您的帮助。

【问题讨论】:

    标签: php symfony fosuserbundle


    【解决方案1】:

    您需要提供一个有效的电子邮件帐户,否则系统无法发送任何邮件。

    你需要在你的parameters.yml中提供信息

    mailer_transport: smtp 
    mailer_host: YOUR EMAIL HOST
    mailer_user: YOUR EMAIL USER
    mailer_password: YOUR EMAIL PASS
    

    -- 更新--

    尝试正确格式化您的 config.yml:

    service:
        mailer:               fos_user.mailer.default
        email_canonicalizer:  fos_user.util.canonicalizer.default
        token_generator:      fos_user.util.token_generator.default
        username_canonicalizer:  fos_user.util.canonicalizer.default
        user_manager:         fos_user.user_manager.default
    

    而不是

    service:
    mailer:               fos_user.mailer.default
    email_canonicalizer:  fos_user.util.canonicalizer.default
    token_generator:      fos_user.util.token_generator.default
    username_canonicalizer:  fos_user.util.canonicalizer.default
    user_manager:         fos_user.user_manager.default
    

    【讨论】:

    • 您好,谢谢您的回答,但我已经试过了,还是不行。
    • @JonathanMartínez 在控制台上尝试使用app/console swiftmailer:email:send 发送自己和电子邮件。如果您没有收到,则说明凭据有问题。
    • 我试过了,但出现了这个错误:刷新电子邮件队列时发生异常:无法使用 1 个可能的身份验证器在用户名“@mail”的 SMTP 服务器上进行身份验证
    • @JonathanMartínez @mail 不是有效条目。 abcd@mail.com 作为示例是有效的。
    • 是的,我知道。这是一个例子,我的邮件就像 example@gmail.com
    猜你喜欢
    • 2017-02-23
    • 2015-10-22
    • 1970-01-01
    • 1970-01-01
    • 2020-07-19
    • 2011-09-14
    • 2018-11-21
    • 2023-04-05
    • 1970-01-01
    相关资源
    最近更新 更多