You need to sign in to do that
Don't have an account?
MaggieSumit
I create apex class for sending email template with attachment. When I uploading data through data loader then I am getting the issue.
Like I am updating a single record than its sending a specific attachment for that contact record, but when I updating data by data loader it's attaching all attachment from all contacts and sending on email.
please help me on this,
thanks
public with sharing class OpportunityMatchingHelper {
public static List<alu_Opportunity_Matching__c> sendEmail(List<alu_Opportunity_Matching__c> oppList) {
Map<Id,alu_Opportunity_Matching__c> OppMapByIDs = new Map<Id,alu_Opportunity_Matching__c>();
List<Messaging.SingleEmailMessage> emails = new List<Messaging.SingleEmailMessage>();
List<Messaging.Emailfileattachment> fileAttachments = new List<Messaging.Emailfileattachment>();
EmailTemplate et=[Select Id,Subject,HtmlValue,Body FROM EmailTemplate WHERE Name=:'Pitched'];
for(alu_Opportunity_Matching__c opMap : oppList){
if(opMap.Application_Status__c == 'Pitched'){
OppMapByIDs.put(opMap.Applicant_Student_Record__c, opMap);
}
}
for (Attachment a : [select Name, Body, BodyLength from Attachment where ParentId = :OppMapByIDs.keySet()])
{
Messaging.EmailFileAttachment efa = new Messaging.EmailFileAttachment();
efa.setFileName(a.Name);
efa.setBody(a.Body);
fileAttachments.add(efa);
}
for(alu_Opportunity_Matching__c opp :OppMapByIDs.values()){
if(opp.Applicant_Student_Record__c != null){
Messaging.SingleEmailMessage singleMail = new Messaging.SingleEmailMessage();
singleMail.setTargetObjectId(opp.Applicant_Student_Record__c);
singleMail.setTemplateId(et.Id);
singleMail.setWhatId(opp.Id);
singleMail.setSaveAsActivity(false);
singleMail.setReplyTo('mycareer@alueducation.com');
singleMail.setSenderDisplayName('ALU Career Development');
singleMail.setFileAttachments(fileAttachments);
emails.add(singleMail);
}
}
Messaging.sendEmail(emails);
return null;
}
}
please help me on this,
thanks
public with sharing class OpportunityMatchingHelper {
public static List<alu_Opportunity_Matching__c> sendEmail(List<alu_Opportunity_Matching__c> oppList) {
Map<Id,alu_Opportunity_Matching__c> OppMapByIDs = new Map<Id,alu_Opportunity_Matching__c>();
List<Messaging.SingleEmailMessage> emails = new List<Messaging.SingleEmailMessage>();
List<Messaging.Emailfileattachment> fileAttachments = new List<Messaging.Emailfileattachment>();
EmailTemplate et=[Select Id,Subject,HtmlValue,Body FROM EmailTemplate WHERE Name=:'Pitched'];
for(alu_Opportunity_Matching__c opMap : oppList){
if(opMap.Application_Status__c == 'Pitched'){
OppMapByIDs.put(opMap.Applicant_Student_Record__c, opMap);
}
}
for (Attachment a : [select Name, Body, BodyLength from Attachment where ParentId = :OppMapByIDs.keySet()])
{
Messaging.EmailFileAttachment efa = new Messaging.EmailFileAttachment();
efa.setFileName(a.Name);
efa.setBody(a.Body);
fileAttachments.add(efa);
}
for(alu_Opportunity_Matching__c opp :OppMapByIDs.values()){
if(opp.Applicant_Student_Record__c != null){
Messaging.SingleEmailMessage singleMail = new Messaging.SingleEmailMessage();
singleMail.setTargetObjectId(opp.Applicant_Student_Record__c);
singleMail.setTemplateId(et.Id);
singleMail.setWhatId(opp.Id);
singleMail.setSaveAsActivity(false);
singleMail.setReplyTo('mycareer@alueducation.com');
singleMail.setSenderDisplayName('ALU Career Development');
singleMail.setFileAttachments(fileAttachments);
emails.add(singleMail);
}
}
Messaging.sendEmail(emails);
return null;
}
}
May I suggest you please refer the below link for reference.
- http://sfdcsrini.blogspot.com/2014/06/sending-email-with-attachment-using.html (http://anuragsfdc.blogspot.sg/2014/02/send-email-with-attachment-from-apex.html)
- http://anuragsfdc.blogspot.sg/2014/02/send-email-with-attachment-from-apex.html
Hope it will be helpful.Please mark it as best answer if the information is informative.
Thanks
Rahul Kumar