I want to send confirmation email to users. I did install swiftmailer with composer and these are my configuration in parameters. yml and config.yml
parameters:
database_host: 127.0.0.1
database_port: null
database_name: xxxx
database_user: root
database_password: root
mailer_transport: smtp
mailer_host: 127.0.0.1
mailer_user: xxxxx#xxxxxx.com
mailer_password: xxxx
secret: ea293ee3152cb8522e591a6cb821f950cc67f499
spool:
type: file
mailer_port: 587
mailer_encryption: tls
mailer_logging: '%kernel.debug%'
config.yml
swiftmailer:
transport: '%mailer_transport%'
host: '%mailer_host%'
username: '%mailer_user%'
password: '%mailer_password%'
spool: { type: memory }
I added this code to my controller and I tested but nothing sent:
$message = \Swift_Message::newInstance()
->setSubject('hello')
->setFrom('example#gmail.com')
->setTo('xx.xx#xxx.tn')
->setBody('#servicom/pages/profile_commercial.html.twig', 'text/html');
# Send the message
$this->get('mailer')
->send($message);
I want to ask if the problem is from the configuration or from the code.
Thanks in advance.
See if you need some other parameters like encryption (typicaly tls) or port (generaly 587).
Documentation for adding properties there
Finally i fixed the issue by debugging first then adding the ini_set() so i share this solution :
Parameters.yml :
parameters:
database_host: 127.0.0.1
database_port: null
database_name: xxxxx
database_user: root
database_password: root
mailer_transport: smtp
mailer_host: ssl0.ovh.net
mailer_user: xxxx#myhost.com
mailer_password: toguess
encryption: ssl
auth_mode: login
secret: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Add this to the function send :
ini_set('SMTP','ssl0.ovh.net');
ini_set('smtp_port',587);
And this for the Debug :
if ( $this->get('mailer')->send($message)) {
echo '[SWIFTMAILER] sent email to ' . 'malek.zarkouna#esprit.tn';
echo '' . $mailLogger->dump();
} else {
echo '[SWIFTMAILER] not sending email: ' . $mailLogger->dump();
}
Related
I'm trying to send symfony 2 a mail. I'm using google suite, I have a registered domain on aruba.it but use google mail for mail. It is a domain address, ie mail#mydomain.com. In the configuration file I have:
Auth_mode: login
Transport: "% mailer_transport%"
Encryption: "% mailer_encryption%"
Host: "% mailer_host%"
Port: "% mailer_port%"
Username: "% mailer_user%"
Password: "% mailer_password%"
Sender_address: "% mailer_sender_address%"
In the parameter file, mailer_transport: smtp mailer_host: smtp.gmail.com. But the mail is not sent. Can someone help me? How can I debug? Is there a log file?
I have tried with mailer_transport: gmail in parameters and transport: gmail in config but don't work.
I am using the following details in my parameters, it always seems to work. You might also want to read through their documentation
mailer_transport: smtp
mailer_encryption: ssl
mailer_auth_mode: login
mailer_host: smtp.gmail.com
mailer_user: youremailaddress
mailer_password: yourpassword
mailer_port: 465
I'm a newbie with Symfony 3 (Symfony generally)
I want to send an email, just to test my parameters, if everything's going well, but that doesn't work.
Here my parameters.yml file:
database_host: 127.0.0.1
database_port: null
database_name: learnsymfony
database_user: root
database_password: null
mailer_transport: gmail
mailer_encryption: ssl
mailer_auth_mode: login
mailer_host: smtp.gmail.com
mailer_user: 'personalemail#gmail.com'
secret: 7759e1c20bb67e4ec0fbac5c3a4de22beed3b95d
And Here my config.yml code for swiftmailer:
transport: gmail
host: smtp.gmail.com
username: 'personalemail#gmail.com'
password: 'myPassword'
spool: { type: memory }
I found this configuration in one question here in the forum, but for my case, that was given an error "Exception occurred while flushing email queue: Connection could not be established with host smtp.gmail.com [ #0]"
Any suggestion please?
I tried alot of other configurations but nothing works well...
thanks
I also faced this problem today and got resolved by following how to send email in Symfony
After following these steps don't forget to import these in your default controller:
use Symfony\Component\Routing\Annotation\Route as Route;
use Symfony\Component\HttpFoundation\Response;
And make sure your email and password which you are using "#app/config/parameters.yml" are correct.
i'm trying to do my first symfony project and i am using the fosuserbundle. It's working perfectly i'm just having a problem with the email confirmation, i'm not receiving anything.
This is my parameters.yml:
parameters:
database_host: 127.0.0.1
database_port: null
database_name: mydatabase
database_user: root
database_password: null
mailer_transport: smtp
mailer_host: 127.0.0.1
mailer_user: mymail#gmail.com
mailer_password: mypass
secret: 8c73d1f9bc7f50ce500d4a98a4627ffaa42dc905
this is myconfig.yml:
swiftmailer:
transport: %mailer_transport%
host: %mailer_host%
username: %mailer_user%
password: %mailer_password%
port: "585"
spool: { type: memory }
fos_user:
db_driver: orm
firewall_name: main
user_class: OC\UserBundle\Entity\User
service:
mailer: fos_user.mailer.twig_swift
registration:
confirmation:
enabled: true
from_email:
address: mymail#gmail.com
sender_name: myname
service:
mailer: fos_user.mailer.twig_swift
please can you help? because i searched on the web and tried but since it's my first project none of the solutions are working with me.
Try with these slight changes in your config.yml:
port: 585
auth_mod: login
The value for the port doesn't need to be enclosed in quotes. I'm not sure if this really makes a difference, but you should follow the conventions.
Since you're using smtp as mailer_transport you have also to specify the authentication mode. Check the documentation for more details:
http://symfony.com/doc/current/reference/configuration/swiftmailer.html
Eventually you'll need another value for the authentication mode.
EDIT (2016-02-19):
Instead of using smtp as mailer_transport you can use the shortcut gmail. Please see this article from the Symfony Cookbook:
http://symfony.com/doc/current/cookbook/email/gmail.html
Then you can omit the line:
auth_mod: login
This shortcut will set the host to smtp.gmail.com. In your configuration you have the host set to 127.0.0.1. This could eventually be the reason why it works with the web_profiler, but not with the real e-mail address.
I am trying to send an email from some user to the site owner.
I use swiftmailer Bundle of Symfony. this is my code:
Controller
$mailTo = $this->container->getParameter('mailer_user');
$mailFrom = $message->getEmail();
$mail = Swift_Message::newInstance()
->setSubject('Contact ' . $message->getCountry() . ' from Lemarquis')
->setFrom($mailFrom)
->setTo($mailTo)
->setBody($this->renderView(
'WsMailerBundle:Email:message1.html.twig', array(
'message' => $message)))
->setContentType('text/html');
$this->get('mailer')->send($mail);
app/config.yml
swiftmailer:
transport: %mailer_transport%
encryption: %mailer_encryption%
auth_mode: %mailer_auth_mode%
port: %mailer_port%
host: %mailer_host%
username: %mailer_user%
password: %mailer_password%
app/parameters.yml
parameters:
database_driver: pdo_mysql
database_host: localhost
database_port: null
database_name: ...
database_user: ...
database_password: ...
mailer_transport: smtp
mailer_encryption: ssl
mailer_port: 465
mailer_auth_mode: login
mailer_host: smtp.gmail.com
mailer_user: someaddress#somedomain.tn
mailer_password: somepwd
The problem is that e-mail is sent from %mailer_user% to %mailer_user%, even with different user addresses.
->setFrom($mailFrom)
You can use this to overwrite %mailer_user% in "FROM" field, however email will still be send from %mailer_user%. This field should be used only to add name of the sender, not to change his email address.
If You still want to change shown email You can try, but You can have problems on many servers (for example GMAIL is blocking that option: How to set 'FROM' property using Swiftmailer with Gmail? ).
I can't send email with symfony2
app/config/config.yml
swiftmailer:
transport: smtp
encryption: ssl
auth_mode: login
host: smtp.gmail.com
username: mymail#gmail.com
password: mypassword
src/Ga/CmsBundle/Resources/config/routing.yml
emailing:
pattern: /emailing
defaults: { _controller: "GaCmsBundle:main:emailing" }
src/Ga/CmsBundle/Controller/mainController.php
public function emailingAction()
{
$message = \Swift_Message::newInstance()
->setSubject('Hello Email')
->setFrom('mymail#gmail.com')
->setTo('anothermail#yahoo.com')
->setBody('mahdi musawie');
$this->get('mailer')->send($message);
return new response("mahdi");
}
try to set a port (this one was 465 for google apps) or use transport: gmail
this one works fine for me: (i use google apps)
mailer_transport: gmail
mailer_host: smtp.gmail.com
mailer_user: xxx#my-domain.com
mailer_password: xxx
mailer_port: 465