使用 SalesForce 的发送电子邮件功能,它允许文件附件。我正在寻找一种将销售人员中的附件存储到发送电子邮件的对象的方法。
我知道销售人员的这种限制
“附件不会存储在从 Salesforce 发送的电子邮件中。要与电子邮件一起保存,附件必须稍后与电子邮件关联或使用电子邮件转个案、电子邮件转 Salesforce、按需电子邮件发送到 Salesforce -to-Case,或 Salesforce for Outlook。”
有什么解决办法吗?
使用 SalesForce 的发送电子邮件功能,它允许文件附件。我正在寻找一种将销售人员中的附件存储到发送电子邮件的对象的方法。
我知道销售人员的这种限制
“附件不会存储在从 Salesforce 发送的电子邮件中。要与电子邮件一起保存,附件必须稍后与电子邮件关联或使用电子邮件转个案、电子邮件转 Salesforce、按需电子邮件发送到 Salesforce -to-Case,或 Salesforce for Outlook。”
有什么解决办法吗?
一种选择是使用 Apex 代码在 Object 的 Attachment 对象中上传相同的代码,然后发送电子邮件。
//Code for attaching a file from Local Machine
//VF Page
<apex:page controller="AttachmentUploadController">
<apex:sectionHeader title="Visualforce Example" subtitle="Attachment Upload Example"/>
<apex:form enctype="multipart/form-data">
<apex:pageMessages />
<apex:pageBlock title="Upload a Attachment">
<apex:pageBlockSection showHeader="false" columns="2" id="block1">
<apex:pageBlockSectionItem >
<apex:outputLabel value="File" for="file"/>
<apex:inputFile value="{!attachment.body}" filename="{!attachment.name}" id="file"/>
</apex:pageBlockSectionItem>
<apex:pageBlockSectionItem >
<apex:commandButton action="{!upload}" value="Upload and send an Email"/>
</apex:pageBlockSectionItem>
</apex:pageBlockSection>
</apex:pageBlock>
</apex:form>
</apex:page>
//Controller
public with sharing class AttachmentUploadController
{
public Attachment attachment
{
get
{
if (attachment == null)
attachment = new Attachment();
return attachment;
}
set;
}
public PageReference upload()
{
String parentId = System.currentPagereference().getParameters().get('pid');
attachment.OwnerId = UserInfo.getUserId();
attachment.ParentId = parentId;
attachment.IsPrivate = true;
try
{
insert attachment;
//Start: Send Email with Attachment
Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();
String[] toAddresses = new String[]{<<email IDs>>};
mail.setToAddresses(toAddresses);
//Set email file attachments
List<Messaging.Emailfileattachment> fileAttachments = new List<Messaging.Emailfileattachment>();
// Add to attachment file list
Messaging.Emailfileattachment efa = new Messaging.Emailfileattachment();
efa.setFileName(attachment.Name);
efa.setBody(attachment.Body);
fileAttachments.add(efa);
//create attachment for object
Attachment att = new Attachment(name = attachment.name, body = attachment.body, parentid = Trigger.new[0].id);
insertAttList.add(att);
mail.setFileAttachments(fileAttachments);
//Send email
Messaging.sendEmail(new Messaging.SingleEmailMessage[] { mail });
//END : Send Email with Attachment
PageReference page = new PageReference('/' + parentId);
return page;
}
catch (DMLException e)
{
ApexPages.addMessage(new ApexPages.message(ApexPages.severity.ERROR,system.Label.Error_uploading_attachment));
return null;
}
finally
{
attachment = new Attachment();
}
}
}
注意事项:
为了在 Salesforce 中存储任何类型的电子邮件附件,Salesforce org 需要与一些 Outlook 邮箱连接。如前所述,电子邮件转个案/按需电子邮件转个案服务等销售人员功能有助于存储通过电子邮件发送的所有附件。在这种情况下,如果附件随邮件一起发送,则该附件应在“案例附件”选项卡下可用。
您是否查看过 Salesforce For Outlook?它是 Outlook 的一个插件,它与 Salesforce 同步,用于任务、会议、事件、ECT。它还允许您通过单击按钮将电子邮件和附件保存到 Salesforce 中的帐户。我是 700 多个用户的唯一管理员,整个领域都使用它并且喜欢它。