我有一个Visualforce apex中的电子邮件列表:pageBlockTable,并希望使电子邮件可以使用特定的电子邮件模板,并使用我点击的电子邮件填充To:字段,有没有办法做到这一点? / p>
答案 0 :(得分:1)
回答我的理解:逻辑 - 您需要将可见度页面中的参数传递给控制器/扩展程序,以便它知道要使用哪个模板(如果有多个模板)。这可以通过无线电按钮来实现。
根据发送电子邮件部分,只需通过getter和setter将包含电子邮件的列的值传递给apex类。将这些电子邮件存储在一个数组中,使用sendEmail方法将电子邮件发送到电子邮件数组。
示例代码:
// VF页面:
//所以,如果你在pageBlockTable中有你的电子邮件,代码必须是这样的:
//Apex Class:
public class Test{
List <Email__c> listEmail = [Select Email__c from Email__c];
String[] toAddresses = new String[] {};
public list<Email__c> getList() {
return listEmail;
}
public Test(){
for(integer i =0; i < listEmail.size(); i++){
toAddresses.add(listEmail[i].Email__c);
}
}
public void SendEmail(){
Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();
//pass the address list
mail.setToAddresses(toAddresses);
//set the templateID
mail.setTemplateID('');
//set other fields (like SenderName, ReplyTo, Signature) - http://www.salesforce.com/us/developer/docs/apexcode/Content/apex_classes_email_outbound_base.htm
//send the email
mail.sendEmail();
}
}
请告诉我这是否适合您!
干杯
答案 1 :(得分:0)
您需要能够预先编辑电子邮件吗?如果不是,您可以使用命令链接调用发送SingleEmailMessage
的方法http://www.salesforce.com/us/developer/docs/apexcode/Content/apex_classes_email_outbound_single.htm
并从那里设置模板......