Skip to Content
Product Information
Author's profile photo Tamit Kumar Das Sharma

Handling of Multiple – Channel E-mail addresses in the TO or CC field

In this blog we will be talking about how an admin user can configure the SAP Service Cloud to handle multiple email channels present in the TO or CC address. But before we move forward let’s understand the concept of email flow and channels.

Here an email channel is the email ID exposed to customers for communicating with the company. This is the email ID where we write to in case we need some information or support. 

For more information on email channels kindly refer to the following blog – https://blogs.sap.com/2016/06/14/sap-hybris-cloud-for-service-email-channels/

In the above diagram we can see a typical data flow of email from customers device to SAP Service Cloud via organisations dedicated mail server. Suppose Jhon needs a specific information about a product and hence decides to write an email to help@xxx-company.com. Now this email is received at the SAP mail server dedicated to the address (help@xxx-company.com). It is this mail server which then automatically forwards the email to SAP Service Cloud which is then converted to a ticket.

For the above email, the following ticket is created in the system.


 

It is also possible that Jhon decides to write the email for product information to support@xxx-company.com as well as help@xxx-company.com as he is unsure of the proper email address.

In this case the dedicated mail servers (help@xxx-company.com & support@xxx-company.com) send the email to SAP Service Cloud.

For the above email, following tickets are created with same email channel.

So when an agent replies to these emails the from address is set to help@xxx-company.com for both the tickets, which is the first email channel in the TO address. 

SAP Service Cloud has released a feature in which the customer can handle multiple channel in the TO address. Previously, two tickets used to be created with the same email channel ID. With the current enhancement, two separate tickets can be created for the different channels. However, to make use of this feature customer needs to adapt the email MIME being forwarded to SAP Service Cloud.

Procedure to use this feature:

Adaptation Required:

The email MIME can be enhanced with custom headers to default the mail box from which the email is being forwarded to SAP Service Cloud or they can use the ‘envelope-from’ attribute in the received from header.

Enabling the feature in SAP Service Cloud

To enable the feature to handle multiple email channel in the TO address, following steps need to be carried out by the admin user.

  1. Go to Administration ~> Service & Social WC View.
  2. Open Ticket Configuration under Tickets.
  3. Look for Email Channel Configuration form
  4. Enable Handle multiple email channel in TO address (switch on the button)
  5. On turning on the feature, detail section opens up containing the mime-header from which the application will read the value of the email channel. By default this value is set to the attribute ‘envelope-from’ of the received from header.
  6. To change this value click on the edit button and enter the custom header value. Once the default value (envelope-from) is changed, application will read from the custom header in the mime, the name that will be maintained here.

    Note: In case of using custom header, MIME should be adapted to only pass the email channel in the custom  header. (e.g. – X-Custom_Header: email.channel@domain.com )

Once this feature is enabled and adjustments are done in the corresponding mail servers, if an email is sent to multiple email channels in the TO/CC address for every channel a ticket will be created in the SAP Service Cloud with the channel set to the corresponding channel in the custom header or the envelope-from.

One more thing to be noted here is that when this feature is active, when an agent replies to such a ticket interaction, all channels will be removed from the TO?CC address so that the outbound email is not threaded back as an inbound email interaction to the same ticket. Also an information message is displayed on the UI stating the same.

Limitation:

  • Channel address maintained in custom header but not in TO/CC. In this case, email activity is created with blocking reason code and will be available in Unassociated email list.
  • Channel address in custom header and also present in TO/CC, but not a valid channel. In this case, activity created with first channel in TO address field.
  • Channel address present in custom header and is only present in BCC, then the email will land in unassociated email list (if BBC is allowed for B2B scenario is scoped).

Blocking Reason: Inconsistent channel address in custom/envelope-from header in mime

Assigned Tags

      13 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Chandrashekar Pamukuntla
      Chandrashekar Pamukuntla

      Hello Tamit, I read your blogs, they are very informative, appreciate it.

      I have one fundamental question on this Multi Channel set up, hope to get some insight from you.

      1. Without Multi Channel set up

      when a customer sends an email to my company, then it will be routed from my company Internal network and forwarded to C4C, now when that Email is auto converted into ticket, then channel ID is assigned to it, my question is how does C4C know which channel ID to be assigned.

      meaning from which field on mime-header does C4C read Channel ID information, is it "envelope-from" or something else? I want to understand how does Channel ID identified.

      2) with Multi Channel Set up No Mime-header added

      lets assume in the Multi channel config we DO NOT add any Mime-header ID, that means by default system picks up channel ID from "envelop-from" correct (at least that's what config says)?, so my question here is , is this behavior same as point 1 above?

       

      3) with Multi Channel Set up Mime-header ID added (lets say some custom field ID on  mime header is added to Multi channel config)

      now in this case my company network is passing some custom field on mime header, and the same is maintained on C4C Ticket Configuration filed settings "Mime-Header",

      now from all incoming Emails to C4C, does system read channel ID from this custom field or it only reads from custom field if that Email has multiple recipient Email addresses in it set up for that Tenant? how does this work?

      Thanks

      chandu

      Author's profile photo Tamit Kumar Das Sharma
      Tamit Kumar Das Sharma
      Blog Post Author

      Hello Chandrashekar Pamukuntla

      Answer 1:

      In case the multi channel feature is turned off, then the ticket is created via the normal flow. That is, the application will check for a channel in the TO address list of the incoming email and will create a ticket with the same. P.s. this is the first valid channel found in the TO address list.

      Now consider the following scenario, in case an email is addressed to two channels, then two tickets can be created with the same channel, i.e., the first channel encountered in the TO address list.

      Answer 2:

      If multi channel feature is enabled in the system, the application is programmed to read from the envelope-from attribute of the received header. Also, the application checks for this envelope-from value to be a valid channel and along with it should be a part of the TO address list as well.

      Now there are two parts to it.

      a. Generally the envelope-from value is the senders email address. In this case, the value will not be a part of the TO address list of the email. Hence, the email will land in the unassociated email list.

      b. If the envelope-from value is altered with the channel value before sending to the SAP Service Cloud. Assuming that the value is present in the TO address list as well (application will check the TO address list for the value), the ticket will be created with the channel in the envelope-from attribute.

      Answer 3:

      In case of using custom MIME header, the logic is same as the above. The application reads the value of the custom header of the MIME which is maintained in the configuration. It will then validate against two things.

      a. the value is a valid channel in the system

      b. the value is also present in the TO address list of the email. P.s. – this can be along with the other channels in the list.

       

      Also, in case the value is maintained in custom header of MIME/envelope-from and is not a valid channel but is present in the TO address list of the inbound email, then application takes the first valid channel in the TO address list of the inbound email and creates ticket with it. And in case the value maintained in the Custom MIME header/envelope-from but is not maintained in the TO address list, then the email will land in the unassociated email list.

      Hope, I am able to clear your query. Let me know if you have further concerns.

      Author's profile photo Joao Tiago Ribeiro
      Joao Tiago Ribeiro

      Hello,

      Great expanation Tamit! One question for multiple channels on To address list. 

      When activating the feature can't we use the MIME/envelope-to to correctly check all email channels available on the "To" address list?

      Purpose is:

      • For all email channels existing in To address, create a ticket. 
      • For all email channels non-existing (Service Cloud) in To address list, drop them in Unassociated Emails

      Can you please confirm if we may use Envelope-to ? 

      Thank you very much 

      Author's profile photo Tamit Kumar Das Sharma
      Tamit Kumar Das Sharma
      Blog Post Author

      The concern over here is to understand from which mailbox the email was forwarded to C4 Hana. So from the mailbox, the value in the envelope-to would have the address of C4 Hana in this case.

      Also, the TO list would have the emails address of the organization. Hence multiple channels, multiple tickets will be required.

       

      Author's profile photo Joao Tiago Ribeiro
      Joao Tiago Ribeiro

      Hello Tamit,

       

      Yes correct. Address of Service Cloud would be used as "to" being redirected from one company's email (customer implementing Service Cloud).

      With multiple channels for different teams, creating different tickets. However, not duplicating tickets if email sent to 2 teams available as channels which should be handled via "Service Team" defined as party involved.

      However, we understood that it was not possible to exactly achieve this outcome. It would always duplicate or triplicate tickets based on the email channels identified, which is unfortunate.

      Author's profile photo Tamit Kumar Das Sharma
      Tamit Kumar Das Sharma
      Blog Post Author

      Hello Joao Tiago Ribeiro,

      This functionality is not for stopping the duplication of the ticket but to make sure that the tickets are routed to the correct service team. It's clearly explained in the blog mentioned above.

      Author's profile photo Joao Tiago Ribeiro
      Joao Tiago Ribeiro

      Yes. Confirmed. That's what i've also explained above. Thank you for your support and details shared.

      Author's profile photo Emmanuele Prudenzano
      Emmanuele Prudenzano

      Hi guys, very usefull post. We tryed this on our system to manage multuple channel.

      Unfortunately we didn't be able to get the solution work. May be somethings wrong in out x-custom-header. Let me explain

      • Email is send to addr1@domain and addr2@domain
      • x-custom header is present
        • x-custom-header: addr1@domain
        • x-custom-header: addr2@domain
      • the test is done via smtp email command
        • mailsend.exe -H "X-custom_header: addr1@mydomain.com" -H "X-custom_header: addr2@mydomain.com" -to addr1@mydomain.com,addr1@mydomain.com -from myuser@sourcedomain.com -starttls -port 587 -auth -smtp smtp.office365.com -sub "40" -M "bla bla bla" ...

      the system create 2 ticket bat on the same (first in x-header) channel. We try different form of x-header (like -H "X-custom_header: addr1@mydomain.com, addr2@mydomain.com") without any result.

      Can you give an example of x-custom-header?

       

      thanks in advance

      Emmanuele

      Author's profile photo Chandrashekar Pamukuntla
      Chandrashekar Pamukuntla

      Hello Emmanuele,

      if you use Custom mime header config then with every incoming email to C4C looks for Channel ID passed with that x-custom-header field only, probably you are passing same Channel ID info in that email mime.

      what we have seen is Multi channel scenarios will only work better if your email routing set up is something like this e.g., customer email->your Email gateway->C4C

      so, lets say with the above set up if Customer email arrives with two channel IDs added either in TO or CC or both then in your Company's Email gateway you would have to split that email into two already and pass respective Channel ID info into x-custom-header in the Email mime.

      Then that value from each of those mime headers is read by C4C and creates a Ticket by adding respective channel ID.

      hope this helps.

       

      Thanks,

      Chandu

      Author's profile photo Emmanuele Prudenzano
      Emmanuele Prudenzano

      Thanks for your answer. The overal process is clear in my mind, but we still have issue. It's correct to use multplie line for x-custom-header or we need to use a single x-custom-header with some separator?

      for example the header will be

      x-custom-header: addr1@domain

      x-custom-header: addr2@domain

       

      or

      x-custom-header: addr1@domain; addr2@domain

       

       

      Thanks in advance

      Author's profile photo Tamit Kumar Das Sharma
      Tamit Kumar Das Sharma
      Blog Post Author

      Custom header is expected to be one entry, that too of the email server from which the email is being forwarded to C4 HANA (C4C).

      Hope this serves your purpose.

      Regards,

      TK

      Author's profile photo pascal briner
      pascal briner

      We have been told a channel could not have multiple email addresses associated by the implementation partner (I'm handling the mail infrastructure of the customer and are not familiar with C4C). If I got the article right this is possible, right?

      Scenario: 

      We as a customer have customers@domain.tld as the primary smtp address on the customer mailbox, this mailbox has the alias vipcustomers@domain.tld and vip1customers@domain.tld.

      We have been told it's not possible to just forward the mails to he mailbox to the sap crm address as the crm is not able to assign the channel once it's send to vipcustomers@domain.tld as the email address associated with the channel in the CRM is : customers@domain.tld

      Question:

      Could the implementation partner technically assign :

      customers @ domain.tld

      vipcustomers @ domain.tld and

      vip1customers @ domain.tld.

      to the channel : customer_name_customers

       

       

      Author's profile photo pascal briner
      pascal briner

      Technically speaking I could potentially add a custom mail header in a mailflow rule :

      X-C4CCustomer-Channel ID : customer_name_customers

      to all emails send to :

      customers @ domain.tld

      vipcustomers @ domain.tld and

      vip1customers @ domain.tld.

      and then forward the mail to the CRM from within the mailbox, in the CRM the header is checked and assigned to the proper channel.
      Does this work?