You need to sign in to do that
Don't have an account?
Not able send email from apex code
Hi All,
From apex i am sending single email message. it is not showing any errors and exceptions. but still mail is not going.
code as below.
Opportunity oppty=[select id,ownerID,owner.email from Opportunity where id = :OpptyId];
EmailTemplate OwnerChangeET= [SELECT id FROM EmailTemplate WHERE developerName = 'OpportunityChangeOwner'];
Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage() ;
String[] toAddresses = new String[] {oppty.owner.email} ;
mail.setToAddresses(toAddresses) ;
mail.setTargetObjectId(oppty.ownerID);
mail.setWhatId(oppty.Id);
//mail.saveAsActivity = false;
mail.setSaveAsActivity(false);
mail.setTemplateId(OwnerChangeET.id);
List<Messaging.SendEmailResult> results = new list<Messaging.SendEmailResult>();
List<Messaging.SingleEmailMessage> singleEmailList= new list<Messaging.SingleEmailMessage>();
singleEmailList.add(mail);
results=Messaging.sendEmail(singleEmailList);
if (results[0].isSuccess())
System.debug('&&&& ' +results[0]);
in the debug i am getting success . i have tried with with sharing and without sharing class.
debug:
01:26:19.829 (829047000)|SYSTEM_CONSTRUCTOR_EXIT|[38]|<init>() 01:26:19.829 (829066000)|SYSTEM_METHOD_ENTRY|[39]|LIST<Messaging.SingleEmailMessage>.add(Object) 01:26:19.829 (829088000)|SYSTEM_METHOD_EXIT|[39]|LIST<Messaging.SingleEmailMessage>.add(Object) 01:26:19.829 (829140000)|SYSTEM_METHOD_ENTRY|[40]|Messaging.sendEmail(LIST<Messaging.Email>) 01:26:19.928 (928161000)|EMAIL_QUEUE|[40]|subject: A new Opportunity has been Assigned to you, bccSender: false, saveAsActivity: false, useSignature: true, toAddresses: [praveenkumar.reddy@hp.com], targetObjectId: 005d0000000f3aSAAQ, whatId: 006Z0000003rmqcIAA, templateId: 00XG0000001eql8MAA, htmlBody: <html> <p>Hi PraveenKumar Reddy N,</p> <p>You have been assigned ownership of the Opportunity: TestOpportunity</p> <p> For more details, click the following link:</p><a href="https://hp--supportdev--c.cs11.visual.force.com/006Z0000003rmqcIAA">https://hp--supportdev--c.cs11.visual.force.com/006Z0000003rmqcIAA</a></html>, 01:26:19.928 (928279000)|SYSTEM_METHOD_EXIT|[40]|Messaging.sendEmail(LIST<Messaging.Email>) 01:26:19.928 (928407000)|SYSTEM_METHOD_ENTRY|[42]|String.valueOf(Object) 01:26:19.928 (928464000)|SYSTEM_METHOD_EXIT|[42]|String.valueOf(Object) 01:26:19.928 (928484000)|SYSTEM_METHOD_ENTRY|[42]|System.debug(ANY) 01:26:19.928 (928494000)|USER_DEBUG|[42]|DEBUG|&&&& Messaging.SendEmailResult[getErrors=();isSuccess=true;]
Any idea please?
thanks in advance.
You should either use toaddress or targetobjectId not both.
All Answers
You should either use toaddress or targetobjectId not both.
Agreed with Chetan,you should not be using both,also you should check no.of Email Invocation in the debug logs to see if there is any Email invocation or not.
Check ur SPAM folder.
Sometimes emails from Salesforce goes to SPAM.
Thanks
Thanks to all... the code was fine. we can use both. there was some admin settings issue in sandbox. Exactly i too dont know whihc settings they have done. after that same code was working fine.