admin 管理员组

文章数量: 887019

在Salesforce中,如果希望发送的邮件能够在客户回复时自动与特定的商机(Opportunity)绑定在一起,您可以通过以下步骤实现这一目标:

1. 使用Email-to-Salesforce功能

Salesforce 提供了 Email-to-Salesforce 功能,可以将回复的邮件自动关联到某个对象(如商机、联系人等)。这个功能会为您分配一个唯一的Email-to-Salesforce地址,所有发送到这个地址的邮件都会自动关联到特定的Salesforce记录。

步骤:

  • 设置Email-to-Salesforce

    1. 登录Salesforce,导航到设置
    2. 快速查找框中,输入Email-to-Salesforce并点击进入。
    3. My Email to Salesforce下,您会看到一个唯一的电子邮件地址。
    4. 您可以设置关联规则,比如仅在邮件中包含指定的Salesforce ID时才关联记录。
  • 在邮件中包含商机ID:
    当您发送邮件时,在邮件正文或标题中包含商机的ID(通常以00Q开头的18位字符串)。例如:

    商机ID: 0061N00000p2t6kQAA
    

    这样,当客户回复邮件时,Salesforce会自动将回复的邮件关联到对应的商机记录中。

2. 使用Apex自定义邮件处理器

如果需要更复杂的逻辑,比如自动解析邮件内容并将其关联到某个商机,您可以使用Apex来编写自定义的邮件处理器。

步骤:

  • 创建Email Service

    1. 在Salesforce中,导航到设置 -> 开发 -> Email服务
    2. 创建一个新的Email服务,并为其分配一个处理类(Handler Class)。
  • 编写Apex处理类:

    1. 创建一个Apex类来处理收到的邮件。这个类需要实现Messaging.InboundEmailHandler接口。
    2. 在处理类中,编写逻辑解析邮件内容并根据邮件中的信息找到并关联到相应的商机。

    示例代码:

    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 InsightEbsta,这些工具可以自动跟踪与商机相关的邮件,并将客户回复的邮件自动绑定到正确的记录。

总结

最简便的方法是使用Salesforce内置的Email-to-Salesforce功能,通过在邮件中包含商机ID,使得客户回复的邮件能够自动与商机绑定。如果需要更复杂的逻辑,可以编写自定义的Apex处理类或使用第三方工具。

本文标签: 绑定 发送邮件 邮件 在某个 Salesforce