You need to sign in to do that
Don't have an account?
Abhishek Kumar 407
Unable to send attachment with the click of button which will redirect to my email Id. I am getting subject and Body but not attachment. Kindly help here...
Here is the Apex and VF code for the reference:-
//Apex Code
//VF code
//Apex Code
public class sendEmailbuttonApex { public Account accounts {set;get;} public String subject {set;get;} public String body {set;get;} public blob Attach {set;get;} public sendEmailbuttonApex(Apexpages.StandardController controller) { accounts=(Account)controller.getRecord(); accounts=new Account(Name='Test'); } public PageReference sendEmail() { List<Contact> conList=[Select Id, Email from contact where Email='abhishekk.twopirconsulting@gmail.com']; system.debug(conList); List<String> mail=new List<String>(); for(Contact c:conList) { mail.add(c.Email); } Messaging.SingleEmailMessage msg1=new Messaging.SingleEmailMessage(); msg1.setToAddresses(mail); msg1.setSubject(subject); msg1.setPlainTextBody(body); Messaging.Email[] emails=new Messaging.Email[]{msg1}; Messaging.sendEmail(emails); insert accounts; Blob b = Attach; Attachment At = new Attachment(Name ='NewFile',body = b,ParentId=accounts.Id); insert At; PageReference p=new PageReference('https://mail.google.com/mail/u/0/#inbox'); p.setRedirect(true); return p; } }
//VF code
<apex:page docType="HTML-5.0" standardController="Account" extensions="sendEmailbuttonApex"> <head lang="en"> <meta charset="utf-8"/> <meta name="viewport" content="width=device-width,initial-scale=1.0"/> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script> </head> <body> <apex:form > <script src="https://code.jquery.com/jquery-1.8.3.min.js"></script> <br /><br /> <apex:outputLabel value="Subject" for="Subject"/>:<br /> <apex:inputText value="{!subject}" id="Subject" maxlength="80"/> <br /><br /> <apex:outputLabel value="Body" for="word_count"/>:<br /> <apex:inputTextarea id="word_count" cols="30" rows="10" value="{!body}" /> <br /> Total word Count : <span id="display_count">0</span> words. Words left : <span id="word_left">40</span> <br /><br /><br /> <apex:commandButton value="Send Email" action="{!sendEmail}" /> <apex:inputFile value="{!Attach}"></apex:inputFile> </apex:form> <script> $(document).ready(function() { // alert('Hello, jQuery'); $('[id$=word_count]').on('keyup', function(e) { // alert('hey'); //j$('[id$=word_count]').on('keydown', function(e) { var words = $.trim(this.value).length ? this.value.match(/\S+/g).length : 0; if (words <= 40) { $('[id$=display_count]').text(words); $('[id$=word_left]').text(40-words) }else{ if (e.which !== 8) e.preventDefault(); } }); }); </script> </body> </apex:page>
All Answers
I tried your code, but it's giving me error as I am new to salesforce, So unable to fix it. Thanks for your reply.
Error is: Initial expression is of incorrect type, expected: Messaging.SingleEmailMessage but was: List<Messaging.Email>