我在 Visualforce apex:pageBlockTable 中有一个电子邮件列表,并希望使这些电子邮件适合特定的电子邮件模板,并用我单击的电子邮件填充收件人:字段,有什么办法吗?
问问题
1703 次
2 回答
1
回答我的理解:逻辑 - 您需要将参数从您的 visualforce 页面传递到控制器/扩展,以便它知道要使用哪个模板(如果有多个模板)。这可以通过单选按钮来实现。
根据发送电子邮件部分,只需通过 getter 和 setter 将包含电子邮件的列的值传递给 apex 类。将这些电子邮件存储在一个数组中,使用 sendEmail 方法将电子邮件发送到电子邮件数组。
示例代码:
//VF page: //因此,如果您的电子邮件在 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();
}
}
请让我知道这是否适合您!
干杯
于 2012-11-14T16:10:53.970 回答
0
您是否需要能够事先编辑电子邮件?如果不是,您可以使用命令链接调用发送 SingleEmailMessage 的方法
http://www.salesforce.com/us/developer/docs/apexcode/Content/apex_classes_email_outbound_single.htm
并从那里设置模板...
于 2012-10-31T03:35:45.750 回答