I have been trying to figure out how to send an email from Apex for a template that needs an Event object to work.
In my example below, I want to have a visualforce template that will work off of an Event record. It will have a custom controller for a component within the Visualforce Email Template which will need the Event.Id in order to query the Event and a list of child objects from another object.
Messaging.SingleEmailMessage email = new Messaging.SingleEmailMessage();
email.setToAddresses(new String[] { '[email protected]' });
email.setTargetObjectId(myContact.Id);
email.setTemplateId(mytemplate.Id);
Messaging.SendEmailResult[] results = Messaging.sendEmail(new Messaging.SingleEmailMessage[] { email });
Questions
- I can specify the template id as I have above, but I am not sure how to pass (if it is at all possible) the event id so that it can be used in the template.
- I am also not sure how to specify in the Visualforce Email template that this is an Event driven template.
- In addition, as there are no page parameters for the component controller to pick up the event id from, where does it get the id from?
Thank you