使用SmtpClient对接smtp.office365.com如何设置邮件敏感度为Normal
解决方案1:使用原生System.Net.Mail配置敏感度
System.Net.Mail本身支持自定义邮件头,无需更换开发包即可完成敏感度配置,直接在MailMessage实例的Headers属性中添加标准Sensitivity头即可。该字段的可选取值对应关系如下:
- 0 / Normal:普通(你需要的配置)
- 1 / Personal:个人
- 2 / Private:私有(默认触发问题的取值)
- 3 / Company Confidential:公司机密
你只需在初始化MailMessage后、发送邮件前新增一行配置即可,两种写法任选其一:
// 写法1:传入数值编码 message.Headers.Add("Sensitivity", "0"); // 写法2:传入语义化字符串,兼容性一致 message.Headers.Add("Sensitivity", "Normal");
修改后的完整代码参考:
var message = new MailMessage(); message.To.Add(TOadressee.ToString()); message.CC.Add(CCadressee.ToString()); message.From = new MailAddress("claims@l-und-b.de", String.Empty, System.Text.Encoding.UTF8); message.Subject = "Subject line"; message.BodyEncoding = System.Text.Encoding.UTF8; message.Body = "messagetext"; message.IsBodyHtml = true; // 新增配置:设置邮件敏感度为Normal message.Headers.Add("Sensitivity", "Normal"); var client = new SmtpClient("smtp.office365.com", 587); client.EnableSsl = true; client.Credentials = new System.Net.NetworkCredential(senderaddress, password); ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; client.Send(message);
配置完成后发送的邮件敏感度即为Normal,HCL Notes客户端可正常打开。
替代开发包推荐
如果后续需要更丰富的邮件元数据配置能力,可选择以下免费开源的.NET邮件开发库:
- MailKit:.NET生态活跃度最高的开源邮件处理库,完全兼容SMTP协议,原生封装了敏感度、优先级、过期时间等常用邮件属性配置,无需手动操作邮件头,使用更便捷。
- MimeKit:与MailKit配套的MIME格式处理库,支持所有标准邮件字段的自定义配置,适合复杂邮件场景使用。
内容的提问来源于stack exchange,提问作者holtzrmv
相关产品推荐
相关产品推荐

