Monday, October 24, 2011

Mule smtp outbound using Gmail


Following mule flow reads files from a directory and sends the content of the files to an email using gmail account.


<?xml version="1.0" encoding="UTF-8"?>

<mule xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:file="http://www.mulesoft.org/schema/mule/file"
xmlns:smtps="http://www.mulesoft.org/schema/mule/smtps" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
xmlns:email="http://www.mulesoft.org/schema/mule/email" xmlns:spring="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.mulesoft.org/schema/mule/file http://www.mulesoft.org/schema/mule/file/3.1/mule-file.xsd
http://www.mulesoft.org/schema/mule/smtps http://www.mulesoft.org/schema/mule/smtps/3.1/mule-smtps.xsd
http://www.mulesoft.org/schema/mule/email http://www.mulesoft.org/schema/mule/email/3.1/mule-email.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/3.1/mule.xsd ">
<spring:beans />

<smtps:connector name="smtpsGmailConnector"
fromAddress="syourid@gmail.com" ccAddresses="toid@domain.com">

<smtps:header key="mail.transport.protocol" value="smtps" />
<smtps:header key="mail.smtps.auth" value="true" />
<smtps:header key="mail.smtps.quitwait" value="false" />
<smtps:tls-client />
<smtps:tls-trust-store path="greenmail-truststore" />
</smtps:connector>

<flow name="9f1f86a7-021f-4d20-b062-40fcd1c6c9fa">
<file:inbound-endpoint path="E:/someDir"
pollingFrequency="1000" fileAge="500" reverseOrder="false" doc:name="File"
doc:description="Read/write a file from the filesystem" />
<echo-component></echo-component>

<smtps:outbound-endpoint connector-ref="smtpsGmailConnector"
user="yourid" password="yourpassword" host="smtp.gmail.com"
subject="Your order has been placed!">

<email:string-to-email-transformer />
</smtps:outbound-endpoint>
</flow>
</mule>



Run with mule

Put some text file int the directory "E:/someDir"

Console will look something like the following image


2 comments:

  1. Great Article. its is very very helpful for all of us and I never get bored while reading your article because, they are becomes a more and more interesting from the starting lines until the end.

    Mulesoft online training bangalore

    ReplyDelete
  2. This Blog Provides Very Useful and Important Information. I just Want to share this blog with my friends and family members. Mulesoft certification training

    ReplyDelete