diff --git a/cookbook/email/cloud.rst b/cookbook/email/cloud.rst
new file mode 100644
index 00000000000..3f62afc746b
--- /dev/null
+++ b/cookbook/email/cloud.rst
@@ -0,0 +1,118 @@
+.. index::
+ single: Emails; Using the cloud
+
+How to use the Cloud to Send Emails
+===================================
+
+Requirements for sending emails from a production system differ from your
+development setup as you don't want to be limited in the number of emails,
+the sending rate or the sender address. Thus,
+:doc:`using Gmail `_ or similar services is not an
+option. If setting up and maintaining your own reliable mail server causes
+you a headache there's a simple solution: Leverage the cloud to send your
+emails.
+
+This cookbook shows how easy it is to integrate
+`Amazon's Simple Email Service (SES)`_ into Symfony.
+
+.. note::
+
+ You can use the same technique for other mail services, as most of the
+ time there is nothing more to it than configuring an SMTP endpoint for
+ Swift Mailer.
+
+In the Symfony configuration, change the Swift Mailer settings ``transport``,
+``host``, ``port`` and ``encryption`` according to the information provided in
+the `SES console`_. Create your individual SMTP credentials in the SES console
+and complete the configuration with the provided ``username`` and ``password``:
+
+.. configuration-block::
+
+ .. code-block:: yaml
+
+ # app/config/config.yml
+ swiftmailer:
+ transport: smtp
+ host: email-smtp.us-east-1.amazonaws.com
+ port: 465 # different ports are available, see SES console
+ encryption: tls # TLS encryption is required
+ username: AWS_ACCESS_KEY # to be created in the SES console
+ password: AWS_SECRET_KEY # to be created in the SES console
+
+ .. code-block:: xml
+
+
+
+
+
+
+
+
+
+ .. code-block:: php
+
+ // app/config/config.php
+ $container->loadFromExtension('swiftmailer', array(
+ 'transport' => 'smtp',
+ 'host' => 'email-smtp.us-east-1.amazonaws.com',
+ 'port' => 465,
+ 'encryption' => 'tls',
+ 'username' => 'AWS_ACCESS_KEY',
+ 'password' => 'AWS_SECRET_KEY',
+ ));
+
+The ``port`` and ``encryption`` keys are not present in the Symfony Standard
+Edition configuration by default, but you can simply add them as needed.
+
+And that's it, you're ready to start sending emails through the cloud!
+
+.. tip::
+
+ If you are using the Symfony Standard Edition, configure the parameters in
+ ``parameters.yml`` and use them in your configuration files. This allows
+ for different Swift Mailer configurations for each installation of your
+ application. For instance, use Gmail during development and the cloud in
+ production.
+
+ .. code-block:: yaml
+
+ # app/config/parameters.yml
+ parameters:
+ # ...
+ mailer_transport: smtp
+ mailer_host: email-smtp.us-east-1.amazonaws.com
+ mailer_port: 465 # different ports are available, see SES console
+ mailer_encryption: tls # TLS encryption is required
+ mailer_user: AWS_ACCESS_KEY # to be created in the SES console
+ mailer_password: AWS_SECRET_KEY # to be created in the SES console
+
+.. note::
+
+ If you intend to use Amazon SES, please note the following:
+
+ * You have to sign up to `Amazon Web Services (AWS)`_;
+
+ * Every sender address used in the ``From`` or ``Return-Path`` (bounce
+ address) header needs to be confirmed by the owner. You can also
+ confirm an entire domain;
+
+ * Initially you are in a restricted sandbox mode. You need to request
+ production access before being allowed to send to arbitrary
+ recipients;
+
+ * SES may be subject to a charge.
+
+.. _`Amazon's Simple Email Service (SES)`: http://aws.amazon.com/ses
+.. _`SES console`: https://console.aws.amazon.com/ses
+.. _`Amazon Web Services (AWS)`: http://aws.amazon.com
diff --git a/cookbook/email/gmail.rst b/cookbook/email/gmail.rst
index 11634282f0c..b37f35a442e 100644
--- a/cookbook/email/gmail.rst
+++ b/cookbook/email/gmail.rst
@@ -1,7 +1,7 @@
.. index::
single: Emails; Gmail
-How to use Gmail to send Emails
+How to use Gmail to Send Emails
===============================
During development, instead of using a regular SMTP server to send emails, you
@@ -29,31 +29,35 @@ In the development configuration file, change the ``transport`` setting to
.. code-block:: xml
-
-
+ 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">
-
+
+
+
.. code-block:: php
// app/config/config_dev.php
$container->loadFromExtension('swiftmailer', array(
- 'transport' => "gmail",
- 'username' => "your_gmail_username",
- 'password' => "your_gmail_password",
+ '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 at ``parameters.yml``:
+ If you are using the Symfony Standard Edition, configure the parameters in ``parameters.yml``:
.. code-block:: yaml
diff --git a/cookbook/email/index.rst b/cookbook/email/index.rst
index 7209fbcc652..351301f03e6 100644
--- a/cookbook/email/index.rst
+++ b/cookbook/email/index.rst
@@ -6,6 +6,7 @@ Email
email
gmail
+ cloud
dev_environment
spool
testing
diff --git a/cookbook/map.rst.inc b/cookbook/map.rst.inc
index ece47d25be9..2957912b752 100644
--- a/cookbook/map.rst.inc
+++ b/cookbook/map.rst.inc
@@ -66,6 +66,7 @@
* :doc:`/cookbook/email/email`
* :doc:`/cookbook/email/gmail`
+ * :doc:`/cookbook/email/cloud`
* :doc:`/cookbook/email/dev_environment`
* :doc:`/cookbook/email/spool`
* :doc:`/cookbook/email/testing`