如何为SMTP Client添加过滤器,启用SendGrid的bypass list management功能
你目前使用的SMTP协议调用SendGrid的方式,可以通过添加X-SMTPAPI自定义头实现bypass list management功能的启用,具体修改方法如下:
修改后的完整代码
string userName = ConfigurationManager.AppSettings["SendGridUser"]; string passWord = ConfigurationManager.AppSettings["SendGridKey"]; SmtpClient smtpClient = new SmtpClient("smtp.sendgrid.net", 587); NetworkCredential credentials = new NetworkCredential(userName, passWord); smtpClient.Credentials = credentials; // 新增部分:配置bypass list management过滤器 // 这里使用硬编码JSON字符串,无需引入额外序列化依赖,你也可以根据项目技术栈用Json序列化类生成 string smtpApiHeader = "{\"filters\":{\"bypass_list_management\":{\"settings\":{\"enable\":1}}}}"; mailMsg.Headers.Add("X-SMTPAPI", smtpApiHeader); smtpClient.Send(mailMsg);
注意说明
- 该配置本质是向SendGrid的SMTP服务传递自定义功能开关,启用后会跳过全局退订、无效地址、投诉地址等列表校验,确保邮件强制投递
- 如果你项目中已经引入了Newtonsoft.Json等序列化组件,也可以通过对象序列化生成头内容,避免手动拼接JSON出现格式错误
- 请确保你使用的SendGrid账号拥有该过滤器的使用权限,部分受限账号可能无法生效
内容的提问来源于stack exchange,提问作者Craig
相关产品推荐
相关产品推荐

