Sending outbound SMTP messages through Gmail with Mule ESB
Join the DZone community and get the full member experience.
Join For FreeI'm currently working on a Managed File Transfer (MFT) proof-of-concept for a client using Mule ESB Enterprise.
One of the requirements I had to address is the ability to send SMTP
email messages when a particular connector failed, i.e. SFTP connection
failed. I thought to myself, that's a reasonable request and something
that is probably straightforward to do in Mule ESB. Well, if you look
at the Mule configuration it is straightforward however, getting to that
point using Gmail took some work...so I thought I'd share :)
What you need...
- Mule ESB (I'm using Mule ESB Enterprise Version: 2.2.5 Build: 16813 along with Mule Management Console support, i.e. mmc-agent-2.2.5.jar) *
- A test Gmail account
Mule Configuration...
<?xml version="1.0"?>
<mule xmlns="http://www.mulesource.org/schema/mule/core/2.2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:file="http://www.mulesource.org/schema/mule/file/2.2"
xmlns:smtp="http://www.mulesource.org/schema/mule/smtp/2.2"
xmlns:email="http://www.mulesource.org/schema/mule/email/2.2"
xsi:schemaLocation="http://www.mulesource.org/schema/mule/core/2.2
http://www.mulesource.org/schema/mule/core/2.2/mule.xsd
http://www.mulesource.org/schema/mule/file/2.2
http://www.mulesource.org/schema/mule/file/2.2/mule-file.xsd
http://www.mulesource.org/schema/mule/smtp/2.2
http://www.mulesource.org/schema/mule/smtp/2.2/mule-smtp.xsd
http://www.mulesource.org/schema/mule/email/2.2
http://www.mulesource.org/schema/mule/email/2.2/mule-email.xsd">
<description>Test configuration to send SMTP email through Gmail.</description>
<!-- Configure some properties to work with GMail's SMTP -->
<smtp:gmail-connector name="emailConnector" />
<model name="processInboundFileModel">
<service name="processInboundFileService">
<inbound>
<file:inbound-endpoint
path="./remoteFS">
</file:inbound-endpoint>
</inbound>
<echo-component/>
<outbound>
<pass-through-router>
<smtp:outbound-endpoint
connector-ref="emailConnector"
host="smtp.gmail.com"
port="587"
user="<account name>%40gmail.com"
password="<password>"
to="<email addresses>"
from="<account name>@gmail.com"
subject="Test email message"/>
</pass-through-router>
</outbound>
</service>
</model>
</mule>
From http://soatechlab.blogspot.com/2010/07/sending-outbound-smtp-messages-through.html
Opinions expressed by DZone contributors are their own.
Comments