How to Use Gmail to Send Emails

Version: 3.4
Edit this page

Warning: You are browsing the documentation for Symfony 3.4, which is no longer maintained.

Read the updated version of this page for Symfony 5.3 (the current stable version).

How to Use Gmail to Send Emails

During development, instead of using a regular SMTP server to send emails, you might find using Gmail easier and more practical. You can achieve this with the SwiftmailerBundle without much effort.

In the development configuration file, change the transport setting to gmail and set the username and password to the Google credentials:

  • YAML
  • XML
  • PHP
1
2
3
4
5
# app/config/config_dev.yml
swiftmailer:
    transport: gmail
    username:  your_gmail_username
    password:  your_gmail_password

Tip

It's more convenient to configure these options in the parameters.yml file:

1
2
3
4
5
# app/config/parameters.yml
parameters:
    # ...
    mailer_user:     your_gmail_username
    mailer_password: your_gmail_password
  • YAML
  • XML
  • PHP
1
2
3
4
5
# app/config/config_dev.yml
swiftmailer:
    transport: gmail
    username:  '%mailer_user%'
    password:  '%mailer_password%'

Redefining the Default Configuration Parameters

The gmail transport is a shortcut that uses the smtp transport and sets these options:

Option Value
encryption ssl
auth_mode login
host smtp.gmail.com

If your application uses tls encryption or oauth authentication, you must override the default options by defining the encryption and auth_mode parameters.

If your Gmail account uses 2-Step-Verification, you must generate an App password and use it as the value of the mailer_password parameter. You must also ensure that you allow less secure applications to access your Gmail account.

See also

See the Swiftmailer configuration reference for more details.

This work, including the code samples, is licensed under a Creative Commons BY-SA 3.0 license.