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

使用DocuSign C# SDK重发信封,签署人未收到自定义邮件内容

问题原因

当通过UpdateRecipients接口更新已有签署人(复用原RecipientId)并设置resendEnvelope=true时,DocuSign默认不会覆盖签署人已有的邮件通知配置,仅对新添加的收件人(如代码中用新GUID创建的CC)生效新的主题和正文。

解决方案

可以通过以下两种方式解决:

方式1:单独更新签署人邮件配置后重新发送

先更新签署人的邮件通知设置,再单独调用重新发送接口指定该签署人,确保新的主题和正文生效:

// 1. 获取原签署人信息并更新其邮件通知配置
var prevSigner = envelopesApi.ListRecipients(account_id, docusigncriteria.envelope_id).Signers[0];
Signer signer1 = new Signer
{
    Email = docusigncriteria.signerEmail,
    Name = docusigncriteria.signerName,
    RecipientId = prevSigner.RecipientId,
    RoutingOrder = "1",
    ClientUserId = docusigncriteria.signerName,
    EmbeddedRecipientStartURL = "SIGN_AT_DOCUSIGN",
    EmailNotification = new RecipientEmailNotification
    {
        EmailSubject = "Custom email subject for signer 1",
        EmailBody = "Custom email body for signer 1"
    }
};
Recipients signerUpdate = new Recipients { Signers = new List<Signer> { signer1 } };
envelopesApi.UpdateRecipients(account_id, docusigncriteria.envelope_id, signerUpdate, new EnvelopesApi.UpdateRecipientsOptions());

// 2. 单独给该签署人重新发送邮件
var resendSignerOptions = new EnvelopesApi.ResendEnvelopeOptions
{
    RecipientId = prevSigner.RecipientId
};
var signerEmailNotify = new EnvelopeEmailNotification
{
    EmailSubject = "Custom email subject for signer 1",
    EmailBody = "Custom email body for signer 1"
};
envelopesApi.ResendEnvelope(account_id, docusigncriteria.envelope_id, signerEmailNotify, resendSignerOptions);

// 3. 处理CC收件人(原有逻辑不变)
List<CarbonCopy> ccList = new List<CarbonCopy>();
for (int i = 0; i < docusigncriteria.ccEmails.Length; i++)
{
    ccList.Add(new CarbonCopy
    {
        Email = docusigncriteria.ccEmails[i],
        Name = docusigncriteria.ccNames[i] ?? "To Whom it May Concern",
        RecipientId = Guid.NewGuid().ToString(),
        RoutingOrder = "1",
        DeliveryMethod = "email",
        EmailNotification = new RecipientEmailNotification
        {
            EmailSubject = "Custom email subject for signer 1",
            EmailBody = "Custom email body for signer 1"
        }
    });
}
Recipients ccUpdate = new Recipients { CarbonCopies = ccList };
envelopesApi.UpdateRecipients(account_id, docusigncriteria.envelope_id, ccUpdate, new EnvelopesApi.UpdateRecipientsOptions() { resendEnvelope = "true" });

方式2:更新信封全局邮件配置后批量重发

如果所有收件人需要统一的新主题和正文,可直接更新信封的全局邮件设置,再重发整个信封:

// 更新信封全局邮件配置
Envelope envelopeUpdate = new Envelope
{
    EmailSubject = "Unified custom email subject",
    EmailBlurb = "Unified custom email body"
};
envelopesApi.UpdateEnvelope(account_id, docusigncriteria.envelope_id, envelopeUpdate);

// 重发整个信封给所有收件人
var resendAllOptions = new EnvelopesApi.ResendEnvelopeOptions();
envelopesApi.ResendEnvelope(account_id, docusigncriteria.envelope_id, null, resendAllOptions);
关键说明
  • 已有收件人的邮件通知配置不会被UpdateRecipients的批量重发逻辑覆盖,需单独更新后再触发重发。
  • 新添加的收件人(如代码中新建的CC)会直接使用配置的邮件内容,无需额外操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 10:57:48