VISUALFORCE/APEX:简单的电子邮件反馈表单



我正在Visualforce中开发一个网站,并希望为用户提供一个简单的表单,通过电子邮件向我发送反馈。会有3-4个字段,如姓名、用户的电子邮件、原因和反馈以及"发送"按钮。单击"发送"按钮会自动将该消息发送到我的电子邮件地址。

至少目前我不想将表单数据存储在salesforce中。。。我在网上找到的所有关于visualforce/apex和电子邮件的东西都是关于将数据保存到salesforce的。

我可以利用apex的电子邮件功能发送电子邮件而不将数据存储在salesforce中的任何位置吗?

谢谢,Calvin

在VisualForce页面上执行操作时,不需要在数据库中插入/更新/删除任何记录。您可以利用"出站电子邮件"功能发送通知。对于这样的事情,您可能需要熟悉SingleEmailMessage方法。

一个简单的例子:

public PageReference actionSend() {
    String[] recipients = new String[]{'myemailaddress@somedomain.com'};
    Messaging.reserveSingleEmailCapacity(recipients.size());
    Messaging.SingleEmailMessage msg = new Messaging.SingleEmailMessage();
    msg.setToAddresses(recipients);
    msg.setSubject('Test Email Subject');
    msg.setHtmlBody('Test body including HTML markup');
    msg.setPlainTextBody('Test body excluding HTML markup');
    msg.setSaveAsActivity(false);
    msg.setUseSignature(false);
    Messaging.sendEmail(new Messaging.SingleEmailMessage[] {msg}, false);
    return null;
}

如果你有兴趣从专用的电子邮件地址发送这些出站消息(比如noreply@somecompany.com),可以通过设置->管理设置->电子邮件管理->组织范围地址菜单进行设置。创建了一个组织范围的地址后,从URL中获取Id,并在Messaging.SingleEmailMessage的实例上使用setOrgWideEmailAddressId(Id)方法。

最新更新