You need to sign in to do that
Don't have an account?
cambart14
Thanks,
cambart14
Emailing Multiple Attachments with Apex Trigger
Hi Experts,
I am trying to get the below trigger to work for multiple attachments (users may attached 2 or 3 files to the Special_Product_Request__c object). If there is more than one attachment, this trigger will fail (even with small files). Your assistance is much appreciated!
trigger EmailAttachments on Special_Product_Request__c (after insert, after update) { for(Special_Product_Request__c spr : trigger.new){ if (spr.Engineering_Group__c == 'ASI' && spr.SPR_Stage__c == '2 - Marketing Review' && (spr.SPR_Stage__c != Trigger.oldMap.get(spr.Id).SPR_Stage__c)) { Messaging.SingleEmailMessage email = new Messaging.SingleEmailMessage(); spr = [SELECT id, Opportunity.Name, Product_Managerlookup__c.Email, Opportunity.Owner.Name, Opportunity.Account.Name FROM Special_Product_Request__c WHERE Id = :spr.Id]; // create email content String Name = spr.Opportunity.Name; String OwnerName = spr.Opportunity.Owner.Name; String Account = spr.Opportunity.Account.Name; String subject = 'Special Product Request Attachments - '+Name; email.setSubject(subject); List<Messaging.EmailFileAttachment> attachmentList = new List<Messaging.EmailFileAttachment>(); String line1 = 'Please see attached for special product request files related to opportunity: '+Name+'. \r\n'; String line2 = 'Opportunity Owner: '+OwnerName+'. \r\n'; String line3 = 'Account Name: '+Account+'. \r\n'; String body = line1 + line2 + line3; email.setPlainTextBody(body); String ProductManager = spr.Product_Managerlookup__c.Email; email.setToAddresses(new String[]{ProductManager}); // fetch attachments for Special_Product_Request__c Attachment att = [SELECT id, Name, body, ContentType FROM Attachment WHERE ParentId = : spr.id]; // List of attachments handler Messaging.EmailFileAttachment efa = new Messaging.EmailFileAttachment(); { // Create the email attachment efa.setFileName(att.Name); efa.setBody(att.body); efa.setContentType(att.ContentType); efa.setInline(false); attachmentList.add(efa); } // Attach files to email instance email.setFileAttachments(attachmentList); Messaging.sendEmail(new Messaging.singleEmailMessage[] {email}); } } }
Thanks,
cambart14
https://developer.salesforce.com/forums/?id=906F0000000904xIAA
Let me know if that helps!
All Answers
https://developer.salesforce.com/forums/?id=906F0000000904xIAA
Let me know if that helps!
Are you still having issues? I solved this one with this blog: https://developer.salesforce.com/forums/ForumsMain?id=906F0000000MMtBIAW
It's the complete code you just have to switch out your objects. Thanks!
Zammyblammymataz