function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
Lukesh KarmoreLukesh Karmore 

problem with Messaging.emailFileAttachment below code

trigger sendEmailToContactWhenfileIsCreated on ContentDocumentLink (after insert) {
   set<id> conDocId=new set<id>();
   for(contentDocumentLink cond:Trigger.new){
    if(cond.linkedEntityId!=null ){
        conDocId.add(cond.linkedEntityId);
   }
}
list<Messaging.SingleEmailMessage> emailList = new list<Messaging.SingleEmailMessage>();
    list<contact> conlist=[select id ,email from contact where id in:conDocId];
for(contentDocumentLink cond:Trigger.new){
    for(contact c:conlist){
        contentversion cv=[select title,versionData from contentversion where id=:cond.contentdocumentId ];
        Messaging.SingleEmailMessage semail = new Messaging.SingleEmailMessage();
        list<string> toaddress=new list<string>();
        toaddress.add(c.Email);
        semail.setToaddresses(toaddress);
        semail.setsubject('Email Attachment');
        semail.setPlaintextbody('This is first email attachment');
        semail.settargetobjectId(c.id);
        emailList.add(semail);
        Messaging.EmailFileAttachment efa=new Messaging.EmailFileAttachment();
        efa.setFilename(cv.Title[0]);
        efa.setbody(cv.versionData[0]);

        efa.setFileattachment(new  Messaging.EmailFileAttachment[]{efa});
    }
      }
      Messaging.sendEmail(emailList);
}
I am getting error in above bold line , how to setFilename &setbody  Help here Thank You.
sreenath reddy 21sreenath reddy 21
Hi Lukesh karmore
   Your code have small mistake, i rectitfied the mistake please see the below code,
   you are calling the array is error, see below code how to call the array elements
   efa.setFilename(cv[0].Title);
   efa.setbody(cv[0].versionData);


trigger sendEmailToContactWhenfileIsCreated on ContentDocumentLink (after insert) {
   set<id> conDocId=new set<id>();
   for(contentDocumentLink cond:Trigger.new){
    if(cond.linkedEntityId!=null ){
        conDocId.add(cond.linkedEntityId);
   }
}
list<Messaging.SingleEmailMessage> emailList = new list<Messaging.SingleEmailMessage>();
    list<contact> conlist=[select id ,email from contact where id in:conDocId];
for(contentDocumentLink cond:Trigger.new){
    for(contact c:conlist){
        contentversion cv=[select title,versionData from contentversion where id=:cond.contentdocumentId ];
        Messaging.SingleEmailMessage semail = new Messaging.SingleEmailMessage();
        list<string> toaddress=new list<string>();
        toaddress.add(c.Email);
        semail.setToaddresses(toaddress);
        semail.setsubject('Email Attachment');
        semail.setPlaintextbody('This is first email attachment');
        semail.settargetobjectId(c.id);
        emailList.add(semail);
        Messaging.EmailFileAttachment efa=new Messaging.EmailFileAttachment();
        efa.setFilename(cv[0].Title);
        efa.setbody(cv[0].versionData);

        efa.setFileattachment(new  Messaging.EmailFileAttachment[]{efa});
    }
      }
      Messaging.sendEmail(emailList);
}
sreenath reddy 21sreenath reddy 21
If it works then Please Mark it as Best Answer so that other people would take reference from it.
Thanks 
Maharajan CMaharajan C
Hi Lukesh,

try the below change.
 
efa.setFilename(cv.Title);
efa.setbody(cv.versionData);

Thanks,
Maharajan.C
Lukesh KarmoreLukesh Karmore
Thank you both of u for ur reply query solved