Symfony2 Swiftmailer Not Sending

房东的猫 提交于 2019-12-03 05:48:13
Miloš

You can find here the entire procedure on how to send emails with symfony2. I just tested it at it seems to work fine.

http://tutorial.symblog.co.uk/docs/validators-and-forms.html#sending-the-email

http://symfony.com/doc/current/email.html

Can you post parameters.yml?

Also ensure that spooling is disabled so the email can be instantly sent. If you have a spool entry under the Swiftmailer configuration, delete it, for example:

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

Should be:

swiftmailer:
    transport: %mailer_transport%
    host:      %mailer_host%
    username:  %mailer_user%
    password:  %mailer_password%

You may have mail spooling set. If it is a case you need to run:

php app/console swiftmailer:spool:send

to send spooled emails.

Check http://symfony.com/doc/master/cookbook/email/spool.html for more.

I often set the following configuration in config_dev.yml to -prevent- mails being sent during testing, maybe you have done the same and forgot?

If this is in config_dev.yml, set it to false:

swiftmailer:
  disable_delivery:  true

Apart from the above solution, I suggest you to remove die or exit from the function where you use the swiftmailer code. This will fix your problem if your code is proper.

I you have trouble receiving email with ovh, siwftmailer and fosUserBundle,

please consider adding this in your config.yml

fos_user:
    from_email:
            address:        noreply@yourdomain.com
            sender_name:    yourname

If you don't do this, fos user bundle will send the email with noreply@exemple.com and OVH flag this as spam.

source: https://github.com/FriendsOfSymfony/FOSUserBundle/blob/master/Resources/doc/emails.md

config.yml

# Swiftmailer Configuration
swiftmailer:
    transport:  smtp
    encryption: ssl
    auth_mode:  login
    host:       smtp.xx.eu
    username:   username
    password:   password 

controller/action

$messageObject = \Swift_Message::newInstance()
            ->setSubject('Subject')
            ->setFrom('username@xx.eu')
            ->setTo('xxx@stackoverflow.eu')
            ->setBody('message');
$this->get('mailer')->send($messageObject);
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!