如何通过Smartsheet VB(基于C#)SDK为邮件对象添加多个收件人?
如何用Smartsheet C# SDK给邮件对象添加多个收件人
嘿,我之前刚好折腾过这个需求,其实官方文档里虽然没专门把多收件人的写法单独拎出来,但SDK本身是完全支持的,核心就是利用Email类里的列表属性。
核心思路
Smartsheet的Email类中,SendTo、Cc、Bcc这些属性都是IList<Recipient>类型,而不是单个收件人对象。所以你只需要创建多个Recipient实例,把它们添加到对应的列表里就可以实现多收件人了。
完整代码示例
using Smartsheet.Api.Models; using Smartsheet.Api; using System.Collections.Generic; // 假设你已经初始化好了SmartsheetClient实例(这里省略初始化步骤) var smartsheet = new SmartsheetBuilder().SetAccessToken("YOUR_ACCESS_TOKEN").Build(); long worksheetId = 123456789; // 替换成你的工作表ID // 1. 创建多个收件人对象 var recipient1 = new Recipient { Email = "user1@example.com", Name = "用户1" }; // Name可选,Email必填 var recipient2 = new Recipient { Email = "user2@example.com" }; var recipient3 = new Recipient { Email = "user3@example.com" }; // 2. 构建邮件对象,添加多个收件人到SendTo列表 var email = new Email { SendTo = new List<Recipient> { recipient1, recipient2, recipient3 }, Subject = "Smartsheet工作表更新通知", Message = "这是一封包含多个收件人的测试邮件", // 可选:添加抄送人,逻辑和SendTo一致 Cc = new List<Recipient> { new Recipient { Email = "cc@example.com" } } }; // 3. 发送邮件(这里以发送工作表为例,其他资源如报告、仪表盘的发送方法类似) smartsheet.Worksheets.SendSheet(worksheetId, email);
注意事项
Recipient对象的Email属性是必填项,Name是可选的,填了之后收件人会看到对应的名称。- 确保每个邮箱地址格式正确,SDK在发送前会做格式校验,如果有无效邮箱会抛出异常。
- 除了
SendTo,Cc和Bcc属性也都是列表类型,同样支持添加多个收件人,用法和SendTo完全一样。
内容的提问来源于stack exchange,提问作者AuDev
相关产品推荐
相关产品推荐

