How to Capture Replies in Salesforce Using Email Services?
When you are sending Email by using trigger then you have to implement these codes in your trigger -
String[] toAddresses = new String[] {lead1.email};
Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();
mail.setTargetObjectId(lead1.ID);
mail.setSenderDisplayName(‘Salesforce Support’);
mail.setUseSignature(false);
mail.setBccSender(false);
mail.setSaveAsActivity(true);
mail.setReplyTo(‘createactivity@n-218jcm8v38r2kouhy61735ifnvv7mta7dp45fa33iba4t96d5a.28-1ka01eac.ap6.apex.salesforce.com’);
EmailTemplate et=[Select id from EmailTemplate where DeveloperName=:’Testing’];
mail.setTemplateId(et.id);
Messaging.SendEmailResult [] r = Messaging.sendEmail(new Messaging.SingleEmailMessage[] {mail});
Steps to create email service-
- Click on Setup
- Type Email Service on search box
- Click on new Email service
- Enter the name of Email service
- Choose the Apex classes -which is mentioned below
- Click on Active check box
- Create New Email addresses
- Click on save button .
Email services class
global class createActivity implements messaging.Inboundemailhandler {
List <lead> leadlist;
global messaging.InboundEmailresult handleInboundEmail(messaging.InboundEmail email, messaging.InboundEnvelope envelope) {
leadlist = new list <lead>();
system.debug('@@@@@email:' + email);
system.debug('@@@@@envelope:' + envelope);
messaging.InboundEmailresult result = new messaging.InboundEmailresult();
string Activityname = email.fromname;
system.debug('@@@@@Activityname:' + Activityname);
String fromemailaddresss = email.fromAddress;
List <lead> leadlist = [select id from lead where email = : fromemailaddresss limit 1];
system.debug('@@@@@fromemailaddresss:' + fromemailaddresss);
string des = email.plaintextbody;
string tasksubject = email.subject;
Task tkobj = new Task(Description = des, subject = tasksubject, Priority = 'Medium', ActivityDate = System.today(), ReminderDateTime = System.now(), WhoId = leadlist[0].id);
insert tkobj;
system.debug('@@@@@tkobj:' + tkobj);
return null;
}
}
Note -


