WARNING: You are browsing the documentation for Symfony 2.6 which is not maintained anymore. Consider upgrading your projects to Symfony 4.3.

How to Use Gmail to Send Emails

2.6 version
Unmaintained

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. The SwiftmailerBundle makes it really easy.

Tip

Instead of using your regular Gmail account, it's of course recommended that you create a special account.

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

  • YAML
    1
    2
    3
    4
    5
    # app/config/config_dev.yml
    swiftmailer:
        transport: gmail
        username:  your_gmail_username
        password:  your_gmail_password
    
  • XML
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    <!-- app/config/config_dev.xml -->
    <?xml version="1.0" encoding="UTF-8" ?>
    <container xmlns="http://symfony.com/schema/dic/services"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:swiftmailer="http://symfony.com/schema/dic/swiftmailer"
        xsi:schemaLocation="http://symfony.com/schema/dic/services
            http://symfony.com/schema/dic/services/services-1.0.xsd
            http://symfony.com/schema/dic/swiftmailer
            http://symfony.com/schema/dic/swiftmailer/swiftmailer-1.0.xsd">
    
        <!-- ... -->
        <swiftmailer:config
            transport="gmail"
            username="your_gmail_username"
            password="your_gmail_password"
        />
    </container>
    
  • PHP
    1
    2
    3
    4
    5
    6
    // app/config/config_dev.php
    $container->loadFromExtension('swiftmailer', array(
        'transport' => 'gmail',
        'username'  => 'your_gmail_username',
        'password'  => 'your_gmail_password',
    ));
    

You're done!

Tip

If you are using the Symfony Standard Edition, configure the parameters in parameters.yml:

1
2
3
4
5
6
7
# app/config/parameters.yml
parameters:
    # ...
    mailer_transport: gmail
    mailer_host:      ~
    mailer_user:      your_gmail_username
    mailer_password:  your_gmail_password

Note

The gmail transport is simply a shortcut that uses the smtp transport and sets encryption, auth_mode and host to work with Gmail.

Note

Depending on your Gmail account settings, you may get authentication errors within your app. If your Gmail account uses 2-Step-Verification, you should generate an App password to use for your mailer_password parameter. You should also ensure that you allow less secure apps to access your Gmail account.

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