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 -