You need to sign in to do that
Don't have an account?
SteveDev
Single Email Message with Template - Missing targetObjectId
Hi
I'm trying to send an email via apex using an email template.
The problem I'm coming across is that apparently I need to set the targetObjectId, even though I'm setting the toAddresses (and the documentation states that it only requires one of these to be populated).
Here's the code:
public static void bypassEmail(String email, String offerId) { Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage(); EmailTemplate et = [Select Id from EmailTemplate where Name = 'Bypass / Delegated Approval']; mail.setWhatId(OfferId); mail.setTemplateId(et.Id); mail.setToaddresses(new String[] {email}); Messaging.sendEmail(new Messaging.SingleEmailMessage[] { mail });
I can't set a targetObjectId as it needs to be sent to an address held in a custom field. Does anyone know a way to make this work or am I going to have to do a replace on the template Body to turn the merge fields into the values?
Thanks
Steve
This is kind of unfortunate, but what I've done in the past is create a contact with the email in the standard email address field, insert it, then delete it after.
Adds a lot of DML statements to your code, but it was only way I could find as email templates only work with a few standard objects.
I'll look into the documentation issue where we say only one is required. It sounds like we could add some doc around that.
here is solution http://hareeshgoudsalesforce.blogspot.in/2016/06/stop-sending-email-to-settargetobjectid.html