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
SFDC@ErrorSFDC@Error 

Attach mutiple files in with Email uisng lightning component

Hi All,
How can i send emil with multiple attachment files.I have developed a controller for mail sending ,working fine.But unable to attach multiple files with the mail....
Raj VakatiRaj Vakati
You can do it like below 
https://salesforce.stackexchange.com/questions/218915/upload-file-and-save-it-as-attachment-using-lightning-component
 
List<Messaging.Emailfileattachment> fileAttachments = new List<Messaging.Emailfileattachment>();
for (ContentDocumentLink a : [SELECT id,ContentDocument.Title,ContentDocument.FileType,ContentDocument.FileExtension,
                        ContentDocument.LatestPublishedVersionId,ContentDocument.LatestPublishedVersion.VersionData  
                        FROM ContentDocumentLink WHERE LinkedEntityID =:attach])
{
    Messaging.Emailfileattachment efa = new Messaging.Emailfileattachment();
    efa.setFileName(a.ContentDocument.Title+'.'+a.ContentDocument.FileExtension);
    //a.ContentDocument.LatestPublishedVersion.VersionData is a Base64 String. Converting it into Blob
    efa.setBody(EncodingUtil.base64Decode(a.ContentDocument.LatestPublishedVersion.VersionData));

    fileAttachments.add(efa);
}

Refer this links 

https://salesforce.stackexchange.com/questions/218915/upload-file-and-save-it-as-attachment-using-lightning-component

http://sfdcmonkey.com/2017/09/25/file-upload-lightning-component/
https://sfdcpanther.wordpress.com/2017/10/16/upload-multiplelarge-files-at-once-using-lightning-component-up-to-2-gb/
http://sfdcmonkey.com/2017/09/25/file-upload-lightning-component/
https://blogs.absyz.com/2017/11/07/winter-18-uploading-files-in-lightning-component/
https://anilsfgeek.blogspot.com/2017/12/lightning-compent-to-insert-multiple.html
http://hellosnl.blogspot.com/2017/08/lightning-component-for-attaching-files.html
http://peterknolle.com/file-upload-lightning-component/
SFDC@ErrorSFDC@Error
It is attaching file in attachment ,but i want to send email with attach files.
Raj VakatiRaj Vakati
You can do it like below
 
Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();
String[] toAddresses = new String[] {toaddress};
String[] ccAddresses = new String[] {'sfdcsrini@gmail.com'};
mail.setToAddresses(toAddresses);
mail.setCcAddresses(ccAddresses);
mail.setReplyTo(toaddress);
mail.setSenderDisplayName('Name');
mail.setSubject('Testing email through apex');
mail.setBccSender(false);
mail.setUseSignature(true);
mail.setPlainTextBody('This is test email body. This mail is being sent from apex code');
//mail.setHtmlBody('<b> This is HTML body </b>' );

List<Messaging.Emailfileattachment> fileAttachments = new List<Messaging.Emailfileattachment>();
for (Attachment a : [select Name, Body, BodyLength from Attachment where ParentId = :caseId]){
Messaging.Emailfileattachment efa = new Messaging.Emailfileattachment();
efa.setFileName(a.Name);
efa.setBody(a.Body);
fileAttachments.add(efa);
//mail.setFileAttachments(new Messaging.EmailFileAttachment[] {efa});
}
mail.setFileAttachments(fileAttachments);

Messaging.sendEmail(new Messaging.SingleEmailMessage[] { mail });

 
SFDC@ErrorSFDC@Error
Developed this component ,but it is not working .
<aura:component controller="MassEmailController" implements="force:appHostable,flexipage:availableForAllPageTypes,flexipage:availableForRecordHome,force:hasRecordId,forceCommunity:availableForAllPageTypes,force:lightningQuickAction" access="global" >
	<aura:handler name="init" value="{!this}" action="{!c.loadComponent}"/> 
    <aura:attribute name="errorMsg" type="String" description=""/>
    <aura:attribute name="shoMsg" type="boolean" default="false" description=""/>
    <aura:attribute name="shwSucesMsg" type="boolean" default="false" description=""/>
    <aura:attribute name="showLoader" type="boolean" default="false" description=""/> 
    <aura:attribute name="Case" type="Case" 
                    default="{ 'sobjectType': 'Case', 'SampleRichText__c':''}"/>
    
    <aura:attribute name="disableTemplate" type="boolean" default="false" description=""/>
    <aura:attribute name="selTempl" type="String" description=""/>
    <aura:attribute name="templates" type="EmailTemplate[]" default="[]"/>
    <aura:attribute name="addnlEmails" type="String" default="" description=""/>
    <aura:attribute name="subjTxt" type="String" default="" description=""/>
    <aura:attribute name="msgReview" type="String" default="" description=""/>
    <aura:attribute name="caseEmailIds" type="List" access="GLOBAL" default="" description=""/>
    <aura:attribute name="caseIds" type="List" default="" />
    <aura:attribute name="templDetail" type="EmailTemplate" default="{}" />
    
    <aura:attribute name="accept" type="List" default="['.jpg', '.jpeg']"/>
    <aura:attribute name="multiple" type="Boolean" default="true"/>
    <aura:attribute name="disabled" type="Boolean" default="false"/>
    <aura:attribute name="filename" type="String" />                
    
    
    
    <div class="slds-page-header" role="banner">
        <div class="slds-grid">
            <div class="slds-col slds-has-flexi-truncate">
                <!-- SEARCH AREA -->
                <p class="slds-text-title--caps slds-line-height--reset">
                    
                    <span title="lead Standard Icon">
                        
                    </span>&nbsp;&nbsp;Send Email</p>
                <!-- / SEARCH AREA -->
            </div>
            
        </div>
    </div>
    
    
    
    <br/><br/>
    <!-- Connection 1 Section -->
    <div class="slds-grid slds-grid_vertical">
        <div class="slds-box slds-box--small slds-theme--shade slds-text-align--left">Email Message</div>
        <br/>
        <div class="slds-col">
            
            <div class="slds-form-element slds-size--1-of-1">
                <!-- <label class="slds-form-element__label" for="input-02">Recipients<span color="red"><b>*</b></span></label> -->
                
                <!--  <input type="Text" autocomplete="off" style="border-left:4px solid red;" value=""  class="slds-input" /> -->
                <!--To editable/Non Editable Recipients-->
                <lightning:textarea aura:id="emailRecipients" value="{!v.caseEmailIds}" 
                                label="Recipients" maxlength="700" 
                                class="txtAreaCls" disabled="true" />
				
             
            </div>
            
        </div> <br/><br/>
        
        <div class="slds-col">
            <lightning:select disabled="{!v.disableTemplate}" onchange="{!c.loadTemplate}"  name="SelectDivision" label="Select a Template:" aura:id="templateId" value="{!v.selTempl}">
                <option text="None" value=""/>
                
                <aura:iteration items="{!v.templates}" var="item">
                    <option text="{!item.Name}" value="{!item.Id}"/>
                </aura:iteration> 
            </lightning:select>
        </div> <br/><br/> 
        
        <div class="slds-col">
            <div class="slds-form-element slds-size--1-of-1">
                <label class="slds-form-element__label" for="input-02">Subject:</label>
                
                <input id="subjMatter" type="Text" autocomplete="off" value="{!v.subjTxt}"  class="slds-input" />
            </div>  
            
        </div><br/><br/>
        
        <div class="slds-col" aura:id="emailBodyDiv">   
            <div class="slds-form-element slds-size--1-of-1">
               <!-- <label class="slds-form-element__label" for="input-02">Content :</label>-->
                <span></span>
                <force:inputField  class="richTxt" value="{!v.Case.SampleRichText__c}"/>
            </div>
            
        </div><br/><br/>
       
        <aura:if isTrue="{!!empty(v.selTempl)}" >
            <lightning:textarea name="myTextArea" value="{!v.templDetail.Body}" 
                                label="Content:" maxlength="700" 
                                class="txtAreaCls" disabled="false" />
            <br/><br/>
        </aura:if>
        
        
    </div>    
    
    <br/>
    
    <lightning:fileUpload label="Add attachment" multiple="{!v.multiple}" 
                          accept="{!v.accept}" recordId="{!v.recordId}" 
                          onuploadfinished="{!c.handleUploadFinished}" />
    <lightning:input name="files" type="file" label="Attachment" multiple="true" accept="image/png, .zip" onchange="{! c.handleUploadFinished }"/>
    <ui:outputText value="{!v.filename}"/> 
    <!-- Error message area -->
    
    <br/><br/>
    <aura:if isTrue="{!v.shoMsg}" >
        <ui:message aura:id="errPanel"  title="Error" severity="error" closable="false">
            {!v.errorMsg}
        </ui:message>
        <br/><br/>
    </aura:if>
    
    <aura:if isTrue="{!v.shwSucesMsg}" >
        <ui:message aura:id="errPanel"  title="Success!" severity="confirm" closable="false">
            Email has been sent!
        </ui:message>
        <br/><br/>
    </aura:if>	
    
    <!-- Buttons and Loader section -->
    <div class="slds-align_absolute-center " style="padding:2%;">
        
        <lightning:button variant="brand" label="Send Email" onclick="{!c.sendEmailAction}" />
        
        <input type="button" value="Cancel" class="slds-button slds-button--neutral" onclick="{!c.closeDialog}"/>
        <aura:if isTrue="{!v.showLoader}">
            <div class="demo-only" style="height: 6rem;">
                <div role="status" class="slds-spinner_brand slds-spinner slds-spinner_small">
                    <span class="slds-assistive-text">Loading</span>
                    <div class="slds-spinner__dot-a"></div>
                    <div class="slds-spinner__dot-b"></div>
                </div>
            </div>
        </aura:if>  
        
    </div>  
    
    
</aura:component>