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

使用MailKit .NET库发送PEC邮件(C#代码实现咨询)

用MailKit发送意大利PEC邮件的可行方案

可以使用MailKit发送PEC邮件,PEC是意大利法定的挂号邮件系统,本质是遵循特定规范的加密SMTP邮件,只要配置正确的参数和头信息即可实现。

核心配置要点

  • SMTP服务器设置:使用你的PEC服务商提供的SMTP服务器(例如Poste Italiane的smtp.pec.it),启用SSL/TLS加密,端口通常为465(SSL)或587(STARTTLS),并通过PEC账号密码完成身份验证。
  • PEC专属邮件头:
    • 必须添加X-Pec-Message-Type: Registered,标记此邮件为挂号PEC邮件
    • 可选添加X-Pec-Notification: Delivery,要求获取投递回执
  • 回执设置:通过MailKit的DeliveryNotificationOptions配置成功/失败的投递回执,接收地址填写你的PEC邮箱。

代码示例

using MailKit.Net.Smtp;
using MimeKit;

var message = new MimeMessage();
message.From.Add(new MailboxAddress("你的名称", "your-pec-address@pec.it"));
message.To.Add(new MailboxAddress("收件人名称", "recipient-pec@pec.it"));
message.Subject = "Test PEC邮件";

// 添加PEC必填头
message.Headers.Add("X-Pec-Message-Type", "Registered");
// 可选:要求投递回执
message.Headers.Add("X-Pec-Notification", "Delivery");
// 设置回执接收地址
message.DeliveryNotificationOptions = DeliveryNotificationOptions.OnSuccess | DeliveryNotificationOptions.OnFailure;
message.ReplyTo.Add(new MailboxAddress("你的名称", "your-pec-address@pec.it"));

// 构造邮件内容
var bodyBuilder = new BodyBuilder();
bodyBuilder.TextBody = "这是一封测试PEC邮件的内容。";
message.Body = bodyBuilder.ToMessageBody();

// 发送邮件
using (var client = new SmtpClient())
{
    // 连接SMTP服务器,替换为你的PEC服务商地址
    client.Connect("smtp.pec.it", 465, true);
    // 认证账号
    client.Authenticate("your-pec-address@pec.it", "your-pec-password");
    // 发送邮件
    client.Send(message);
    client.Disconnect(true);
}

注意事项

  • 确认你的PEC账号已开启SMTP访问权限,部分服务商需要在后台手动启用
  • 邮件内容需符合意大利相关法律要求,确保收件人信息准确、主题明确
  • 测试阶段建议先给自己发送PEC邮件,检查是否收到官方系统的回执和确认通知

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 13:54:36