You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pyforce替代方案咨询:如何通过Simple Salesforce回复Salesforce工单邮件?

在Simple-Salesforce中实现Salesforce工单邮件回复的替代方案

方法1:直接创建EmailMessage记录

Salesforce中,针对工单(Case)的邮件回复本质是关联到该Case的EmailMessage记录。你可以通过Simple-Salesforce的create方法直接插入这条记录,模拟邮件回复行为。

代码示例

from simple_salesforce import Salesforce

# 初始化Salesforce连接
sf = Salesforce(username='你的用户名', password='你的密码', security_token='你的安全令牌')

# 假设已查询到目标工单的Case ID
target_case_id = '500XXXXXXXXXXXX'

# 构造EmailMessage数据
email_payload = {
    'ParentId': target_case_id,  # 关联到目标工单
    'Subject': '工单回复:您的问题已处理',
    'Body': '您好,您提交的工单我们已完成处理,如有疑问请随时联系我们。',
    'FromAddress': 'support@yourcompany.com',  # 发件邮箱(需在Salesforce中配置)
    'ToAddresses': 'customer@example.com',  # 客户邮箱
    'Incoming': False  # 标记为对外发送的邮件
}

# 插入EmailMessage记录
response = sf.EmailMessage.create(email_payload)
print('邮件回复创建结果:', response)

方法2:通过匿名Apex调用Messaging.sendEmail()

如果需要更灵活的邮件控制(比如使用邮件模板、添加附件、设置发件人显示名),可以通过Simple-Salesforce执行匿名Apex代码,调用Salesforce原生的Messaging.sendEmail()方法。

代码示例

from simple_salesforce import Salesforce

sf = Salesforce(username='你的用户名', password='你的密码', security_token='你的安全令牌')

# 替换为实际的联系人ID和工单ID
contact_id = '003XXXXXXXXXXXX'
case_id = '500XXXXXXXXXXXX'

# 构造匿名Apex代码
apex_script = f"""
Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();
mail.setTargetObjectId('{contact_id}');  # 工单关联的联系人
mail.setWhatId('{case_id}');  # 关联目标工单
mail.setSubject('工单回复通知');
mail.setPlainTextBody('您好,您的工单已更新,详情可登录Salesforce查看。');
mail.setSenderDisplayName('客服支持团队');
// 如需使用邮件模板,取消下面注释并替换模板ID
// mail.setTemplateId('00XXXXXXXXXXXX');

Messaging.SendEmailResult[] results = Messaging.sendEmail(new List<Messaging.SingleEmailMessage> {{ mail }});
for (Messaging.SendEmailResult res : results) {{
    if (res.isSuccess()) {{
        System.debug('邮件发送成功');
    }} else {{
        System.debug('发送失败原因: ' + res.getErrors()[0].getMessage());
    }}
}}
"""

# 执行匿名Apex
execution_result = sf.apexecute(apex_script)
print('Apex执行结果:', execution_result)

注意事项

  • 确保你的Salesforce账号拥有以下权限:创建EmailMessage记录的权限、执行匿名Apex的权限、发送组织级邮箱的权限(如果使用指定发件邮箱)。
  • EmailMessage的必填字段可能因你的Salesforce组织配置有所差异,可通过Salesforce对象管理器确认字段要求。
  • 使用Apex方法时,需注意Salesforce的邮件发送限制(比如每日发送配额)。

内容的提问来源于stack exchange,提问作者user2249295

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 17:20:43