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
VENKAT PATTAPUVENKAT PATTAPU 

Single email messaging

Hi frnds,
I'm getting Error for below code for single email messaging,can anyone please help


public class emailhardcode{

    public String reciepients { get; set; }
//properties
   public string subject {set ;get;}
   public string email_body {set;get;}
   
   list<string> emails= new list<string>{reciepients};

public pagereference send(){
system.debug('reciepients ' + reciepients);
    Messaging.singleEmailmessage Email =new Messaging.singleEmailmessage();
    email.setsubject(subject);
    email.SetPlainTextbody(email_body);
    system.debug('execute'+ emails);
    Email.SetToAddresses(emails);
    
    Messaging.sendemailResult[] r = Messaging.sendemail(new Messaging.singleEmailmessage[]{email});
    return null;
  }


}

vf page

<apex:page controller="emailhardcode" >
  <apex:form >
    
        <apex:pageBlock title="Email" >
           Reciepients &nbsp;&nbsp;<apex:inputText value="{!reciepients}"/>
           <b>Subject</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <apex:inputText value="{!subject}"/><br/><br/>
           <b>Email Body</b><br/><br/>&nbsp;&nbsp;&nbsp;<apex:inputTextarea value="{!email_body}" rows="7" cols="50"/>
        </apex:pageBlock>
        <apex:commandButton value="Send Email" action="{!send}"/>
    </apex:form>
</apex:page>
 
Srinivas SSrinivas S
public class emailhardcode{
	public String reciepients { get; set; }
	//properties
	public string subject {set ;get;}
	public string email_body {set;get;}

	list<string> emails;

	public pagereference send(){
		emails= new list<string>{reciepients};
		system.debug('reciepients ' + reciepients);
		Messaging.singleEmailmessage Email =new Messaging.singleEmailmessage();
		email.setsubject(subject);
		email.SetPlainTextbody(email_body);
		system.debug('execute'+ emails);
		Email.SetToAddresses(emails);

		Messaging.sendemailResult[] r = Messaging.sendemail(new Messaging.singleEmailmessage[]{email});
		return null;
	}
}

Moved emails= new list<string>{reciepients}; to Send method.

------------
Thanks,
Srinivas
- Please mark as solution if your problem is resolved.
 
nagendra 6989nagendra 6989
HI VENKAT PATTAPU,

public class EmailManager {

    

    // Public method
    public static void sendMail(String address, String subject, String body) {
        // Create an email message object
        Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();
        String[] toAddresses = new String[] {address};
        mail.setToAddresses(toAddresses);
        mail.setSubject(subject);
        mail.setPlainTextBody(body);
        // Pass this email message to the built-in sendEmail method 
        // of the Messaging class
        Messaging.SendEmailResult[] results = Messaging.sendEmail(
                                 new Messaging.SingleEmailMessage[] { mail });
        
        // Call a helper method to inspect the returned results
        inspectResults(results);
    }
    
    // Helper method
    private static Boolean inspectResults(Messaging.SendEmailResult[] results) {
        Boolean sendResult = true;
        
        // sendEmail returns an array of result objects.
        // Iterate through the list to inspect results. 
        // In this class, the methods send only one email, 
        // so we should have only one result.
        for (Messaging.SendEmailResult res : results) {
            if (res.isSuccess()) {
                System.debug('Email sent successfully');
            }
            else {
                sendResult = false;
                System.debug('The following errors occurred: ' + res.getErrors());                 
            }
        }
        
        return sendResult;
    }

}

Check with the above code for single email in your developer console.
Thanks.

Mark it as solved if the problem is resolved.
m s 35m s 35
what does this line means ? Messaging.SendEmailResult[] results = Messaging.sendEmail(new Messaging.SingleEmailMessage[] { mail });