Skip to Content
Technical Articles

SAP Cloud Platform Integration (CPI) || Part 6 || Configuring Mail Adapter

Dear Reader,

This blog post is a part of a series of blog posts related to SAP Cloud Platform Integration. The blogs so far are:

  • My adventure in learning CPI || Part 1 || All about SAP Cloud
  • My adventure in learning CPI || Part 2 || Deployment Models
  • My adventure in learning CPI || Part 3 || Cloud Security
  • SAP Cloud Platform Integration (CPI) || Part 4 || Know your tool
  • SAP Cloud Platform Integration (CPI) || Part 5 || Content Modifier

Up next:

  • SAP Cloud Platform Integration (CPI) || Part 7 || Maintaining logs/ using “Groovy Scripts”, even if the IFlow is not on trace mode.


Various adapters (i.e. technical protocols which are used to connect a sender or receiver to the tenant (CPI), are provided by SAP, such as SOAP, OData, Mail, SuccessFactors, HTTPs, Ariba, Facebook, Twitter, ProcessDirect, etc).

In this blog, I shall explain to you about the Mail adapter.


The below is the IFlow, where I have used (a) a Start Timer which means, the message will trigger, the moment the IFlow is deployed, (b) a Content Modifier, just to show how to call the elements in the body of the email.

You can call the Header as, ${header.elementName}, Property as, ${property.elementName}, and Message Body as ${in.body} in the subject/ body of the email.

In my example, I am trying send an email from a Gmail ID.

For the Connection setting refer the screenshot below that needs to be maintained. 

1. Address, the address maintained is where, is the address which allows the sender to an email and check the domain of the sender through the email ID provided, and 587 is the port behind the SSL certificate for security. Now, this is applicable only for Google Customers i.e. gmail users.

There are different standard ports used by Google, Microsoft, Yahoo, Rediff, or Godaddy such as 587, 465, 995, 993, and 25.

2. Credential Name, is to be maintained in the Security Material.

In the Operations View, go to Security Material, and add User Credentials.

Enter your ID, and password of your Gmail account, and Deploy.

Please ensure that your ID is unblocked for API mail sending.

3. Under Mail Attribute, mention the your ID which has been unblocked for API mail sending, and the receipient’s email addresses followed by a (,).

In the Subject, and body, mention enter your email context, and as I have stated earlier, you can call the Header, Property, and Message Body of the content modifier.


After you deploy, a message shall be triggered, and you shall get an email like the below:

Click on “Check Activity”, and click on, “Yes, it was me”.

Now, go to Manage Account:

Here, “Turn on” the Less secure app access.


After you are done, making these changes, re-deploy the IFlow, and you shall get an email like the below:



That is it about the mail adapter.
Hope you had a good read.
If you wish to know more, or have any queries on the said processes, then please feel free to drop a comment.
Thanks & Regards,
Sookriti Mishra
You must be Logged on to comment or reply to a post.
  • Hi Sookriti,

    using gmail server in Mail receiver adapter always work.

    Did you try am getting below error

    Message processing failed.
    Processing Time: 15 sec 887 ms
    Error Details
    javax.mail.AuthenticationFailedException: 535 5.7.3 Authentication unsuccessful []
    Do you know how to send email office365?
    • I have never tried with office365. I am sure there must be other blogs on this mail server's connectivity.

      From the error, it seems more like the email ID which you have used has missing authorizations. As I have mentioned make sure the email id has been unblocked for API mail sending.

  • Hi Sookriti,


    Please confirm me whether we need to do two step authentication from Gmail and need to provide that in credentials.


    • Not required. The essentials steps have been mentioned in the blog. The "app access" is required.

      The first time, you will trigger the email, you shall get an email stating about "Security Alert", from there on, you just have to allow access.

  • Hi Sookriti,

    i setup the mail adapter as you recommended in the blog.

    Unfortunately I receive the following error in the message processing monitor


    Do you know why this error occurs?

    thanks and regards,


    • Julian,

      From the Manage Keystore under Monitor view, add a Certificate for Gmail and re-deploy your iFlow. This should probably resolve the certificate issue.



          • Hi Arun,


            Which certificate should I download for email, I tried with a few of them on mentioned website, but I still receive the same error.




          • Hello Priyank,

            This is just one way of doing it. If this doesn’t work, you may try the other way. See below.
            Go to the Connectivity Tests tile and use the SMTP test using your email address. From the resulting response, you may simply download the certificates and have them installed. This is actually the easiest way.

            Hope this helps.


          • Hello Arun,


            Thanks for describing download certs in different way. whenever I am trying in this way i am getting below error :


            com.sun.mail.util.MailConnectException: Couldn't connect to host, port:, 587; timeout 15000 Cause:


            can you please let me know how to resolve this error

    • Hi Julian,


      Is this resolved?

      If yes, please let us know the way in detail so that it would be useful for the members who may face same issue.

      Thanks in Advance.


      Warm Regards,


  • Thanks Sookriti. Appreciate your time taken to help others with your blog.

    For Gmail, in addition to the settings for less secure apps, I also had to enable the option to bypass the Captcha verification. Only then, I received an email.

    Looking forward to more such articles.



  • Hi Sookriti,

    I have seen that many guys are following your blogs especially, it describes your way to it.

    Your blog(s) on CPI is simple in understanding and worthy.

    Looking for more articles on CPI especially on pallets.


    Warm Regards,


  • Hi Sookrti,

    Thanks for details steps.

    I did steps as mentioned on blog and Tuned on less security on gmail settings , but still getting authentication failed exception.

    Could you please assist on steps to fix the issue.

    javax.mail.AuthenticationFailedException: 534-5.7.14 < 534-5.7.14 BiXbFVb3uT5e7yJMdmtQLBE3q3anvbRB0-E-7kHRE_NwvUJw-Jhn28c5Suu0741pv4FT8 534-5.7.14 wo095UeS2-hX4gCc1H6JqCvwaIb_C_Fqgxpu2E4Ro_ZEYOjaHpH0aHDDRqfgvTCQ> 534-5.7.14 Please log in via your web browser and then try again. 534-5.7.14 Learn more at 534 5.7.14 a187sm3160962wmh.40 - gsmtp



  • Hi Sookrti,

    The information that you are providing through blogs are quite simple and easy to follow.

    I would like to learn SAP-CPI course would you please suggest me any course that is good.


    Thanks and hoping for the reply,


  • Hi Sookruthi,

    I Configured Mail Adapter.


    Connectivity Test

    I deployed to Iflow later i got the error message like Not Connecting to Host . Please check the error message and give me the solution.


    Could Not Connect to Host


  • Hi,

    After performing all of these steps, I deployed my iflow and getting this error:

    Please help with it. In fact I've turn on "less secure apps" in Gmail account settings.




    Below steps need to be followed to send email from SAP CPI via mail adapter,

    1. As mentioned above, install the gmail certificate from I installed the gmail certificate name, GS Root R2 and RSA 2048 from this link.

    2. Make sure Less secure apps is TURNED ON in your gmail account

    3.  To allow each app to send email, enable the access using the below link



    • Hello Parthiban,

      I have a similar kind of requirement that Google has stopped Gmail Access for Less secure Apps which is user name and password.

      Now we are moving this Oauth authentication. However Oauth authentication in mail adapter is provided only for Microsoft O365.

      Can you please help us how we can we get Oauth Authentication for Gmail.

      Thanks in advance.



  • I have tried connecting outlook but getting auth error while running.

    Tried using openconnector outlook and it worked .

    Not sure what is different in both ….

    javax.mail.AuthenticationFailedException: 535 5.7.3 Authentication unsuccessful []




  • Hello, I am new to CPI although I had over 10 years of PI experience.

    I noticed that ${in.body} retrieves the value of the last content modifier or mapping step. Now if the iflow has multiple content modifier/mapping, is there a way to control the versioning of the ${in.body}? Basically, I want to store the payload in different variables to track the different version instead of getting the latest payload.

    Thanks Jonathan.