0

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

我至少现在不想将表单数据存储在 salesforce 中......我在网上找到的所有关于 visualforce/apex 和电子邮件的内容都是关于将这些数据也保存到 salesforce。

我是否可以只使用 apex 的电子邮件功能并发送电子邮件,而不将这些数据存储在 salesforce 的任何位置?

谢谢,卡尔文

4

1 回答 1

1

在 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 并setOrgWideEmailAddressId(Id)Messaging.SingleEmailMessage.

于 2012-08-29T18:50:08.200 回答