你的位置:
首页
>
业界
>
salesforce如何发送邮件,使得回复的邮件绑定在某个opp下
在Salesforce中,如果希望发送的邮件能够在客户回复时自动与特定的商机(Opportunity)绑定在一起,您可以通过以下步骤实现这一目标:
1. 使用Email-to-Salesforce
功能
Salesforce 提供了 Email-to-Salesforce
功能,可以将回复的邮件自动关联到某个对象(如商机、联系人等)。这个功能会为您分配一个唯一的Email-to-Salesforce
地址,所有发送到这个地址的邮件都会自动关联到特定的Salesforce记录。
步骤:
2. 使用Apex
自定义邮件处理器
如果需要更复杂的逻辑,比如自动解析邮件内容并将其关联到某个商机,您可以使用Apex来编写自定义的邮件处理器。
步骤:
-
创建Email Service
:
- 在Salesforce中,导航到设置 -> 开发 -> Email服务。
- 创建一个新的
Email服务
,并为其分配一个处理类(Handler Class)。
-
编写Apex处理类:
- 创建一个Apex类来处理收到的邮件。这个类需要实现
Messaging.InboundEmailHandler
接口。 - 在处理类中,编写逻辑解析邮件内容并根据邮件中的信息找到并关联到相应的商机。
示例代码:
global class EmailToOpportunityHandler implements Messaging.InboundEmailHandler {
global Messaging.InboundEmailResult handleInboundEmail(Messaging.InboundEmail email, Messaging.InboundEnvelope envelope) {
Messaging.InboundEmailResult result = new Messaging.InboundEmailResult();
// 在邮件正文中查找商机ID
String emailBody = email.plainTextBody;
String oppId = getOpportunityIdFromEmail(emailBody);
if (oppId != null) {
Opportunity opp = [SELECT Id FROM Opportunity WHERE Id = :oppId LIMIT 1];
if (opp != null) {
// 将邮件内容记录在商机的活动记录中
Task task = new Task(
WhatId = opp.Id,
Subject = '客户回复邮件',
Description = emailBody,
Status = 'Completed',
Priority = 'Normal'
);
insert task;
}
}
result.success = true;
return result;
}
private String getOpportunityIdFromEmail(String emailBody) {
// 使用正则表达式或其他方式从邮件正文中提取商机ID
Pattern p = Patternpile('006\\w{15}');
Matcher m = p.matcher(emailBody);
if (m.find()) {
return m.group(0);
}
return null;
}
}
-
部署Email服务:
部署后,Salesforce将为此服务生成一个唯一的邮件地址。您可以通过此地址发送邮件,任何回复的邮件都会由该服务处理,并自动关联到相应的商机。
3. 使用Third-Party AppExchange
工具
您也可以考虑使用Salesforce AppExchange上的第三方工具,如Cirrus Insight
或Ebsta
,这些工具可以自动跟踪与商机相关的邮件,并将客户回复的邮件自动绑定到正确的记录。
总结
最简便的方法是使用Salesforce内置的Email-to-Salesforce
功能,通过在邮件中包含商机ID,使得客户回复的邮件能够自动与商机绑定。如果需要更复杂的逻辑,可以编写自定义的Apex处理类或使用第三方工具。
在Salesforce中,如果希望发送的邮件能够在客户回复时自动与特定的商机(Opportunity)绑定在一起,您可以通过以下步骤实现这一目标:
1. 使用Email-to-Salesforce
功能
Salesforce 提供了 Email-to-Salesforce
功能,可以将回复的邮件自动关联到某个对象(如商机、联系人等)。这个功能会为您分配一个唯一的Email-to-Salesforce
地址,所有发送到这个地址的邮件都会自动关联到特定的Salesforce记录。
步骤:
2. 使用Apex
自定义邮件处理器
如果需要更复杂的逻辑,比如自动解析邮件内容并将其关联到某个商机,您可以使用Apex来编写自定义的邮件处理器。
步骤:
-
创建Email Service
:
- 在Salesforce中,导航到设置 -> 开发 -> Email服务。
- 创建一个新的
Email服务
,并为其分配一个处理类(Handler Class)。
-
编写Apex处理类:
- 创建一个Apex类来处理收到的邮件。这个类需要实现
Messaging.InboundEmailHandler
接口。 - 在处理类中,编写逻辑解析邮件内容并根据邮件中的信息找到并关联到相应的商机。
示例代码:
global class EmailToOpportunityHandler implements Messaging.InboundEmailHandler {
global Messaging.InboundEmailResult handleInboundEmail(Messaging.InboundEmail email, Messaging.InboundEnvelope envelope) {
Messaging.InboundEmailResult result = new Messaging.InboundEmailResult();
// 在邮件正文中查找商机ID
String emailBody = email.plainTextBody;
String oppId = getOpportunityIdFromEmail(emailBody);
if (oppId != null) {
Opportunity opp = [SELECT Id FROM Opportunity WHERE Id = :oppId LIMIT 1];
if (opp != null) {
// 将邮件内容记录在商机的活动记录中
Task task = new Task(
WhatId = opp.Id,
Subject = '客户回复邮件',
Description = emailBody,
Status = 'Completed',
Priority = 'Normal'
);
insert task;
}
}
result.success = true;
return result;
}
private String getOpportunityIdFromEmail(String emailBody) {
// 使用正则表达式或其他方式从邮件正文中提取商机ID
Pattern p = Patternpile('006\\w{15}');
Matcher m = p.matcher(emailBody);
if (m.find()) {
return m.group(0);
}
return null;
}
}
-
部署Email服务:
部署后,Salesforce将为此服务生成一个唯一的邮件地址。您可以通过此地址发送邮件,任何回复的邮件都会由该服务处理,并自动关联到相应的商机。
3. 使用Third-Party AppExchange
工具
您也可以考虑使用Salesforce AppExchange上的第三方工具,如Cirrus Insight
或Ebsta
,这些工具可以自动跟踪与商机相关的邮件,并将客户回复的邮件自动绑定到正确的记录。
总结
最简便的方法是使用Salesforce内置的Email-to-Salesforce
功能,通过在邮件中包含商机ID,使得客户回复的邮件能够自动与商机绑定。如果需要更复杂的逻辑,可以编写自定义的Apex处理类或使用第三方工具。