.NET怎么发送一封带附件的电子邮件

使用SmtpClient和MailMessage类可发送带附件邮件,需添加System.Net和System.Net.Mail命名空间;2. 创建MailMessage设置发件人、收件人、主题、正文并添加Attachment对象;3. 配置SmtpClient指定SMTP服务器(如Gmail的smtp.gmail.com:587),启用SSL,提供凭据后调用Send方法发送;4. 注意使用应用专用密码、确保文件路径存在,并推荐.NET 6+改用MailKit。

.net怎么发送一封带附件的电子邮件

在 .NET 中发送带附件的电子邮件,可以使用 SmtpClientMailMessage 类。下面是一个简单实用的示例,展示如何通过 Gmail 或其他 SMTP 服务发送带附件的邮件。

1. 添加必要的命名空间

using System.Net;
using System.Net.Mail;

2. 创建并配置邮件消息

使用 MailMessage 设置发件人、收件人、主题、正文,并添加附件:

// 创建邮件对象
MailMessage mail = new MailMessage();
mail.From = new MailAddress(“your_email@gmail.com”);
mail.To.Add(“recipient@example.com”);
mail.Subject = “测试带附件的邮件”;
mail.Body = “这是带有附件的测试邮件内容。”;// 添加附件(例如一个本地文件)
Attachment attachment = new Attachment(@”C:temptest.pdf”);
mail.Attachments.Add(attachment);

3. 配置 SMTP 客户端并发送

使用 SmtpClient 连接到邮件服务器并发送邮件。以 Gmail 为例:

SmtpClient client = new SmtpClient(“smtp.gmail.com”, 587);
client.EnableSsl = true;
client.Credentials = new NetworkCredential(“your_email@gmail.com”, “your_app_password”);// 发送邮件
try
{
    client.Send(mail);
    Console.WriteLine(“邮件发送成功!”);
}
catch (Exception ex)
{
    Console.WriteLine(“发送失败: ” + ex.Message);
}
finally
{
    mail.Dispose();
    attachment.Dispose();
}

注意事项

如果使用 Gmail,需要开启两步验证,并使用应用专用密码代替账户密码。 附件路径必须存在,否则会抛出异常。 .NET 6 及以上版本推荐使用 MailKit 替代过时的 SmtpClient(SmtpClient 已被标记为过时)。 确保防火墙或网络允许 SMTP 连接(端口 587 或 465)。基本上就这些,不复杂但容易忽略细节。

以上就是.NET怎么发送一封带附件的电子邮件的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1441169.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月17日 17:48:57
下一篇 2025年12月17日 17:49:01

相关推荐

发表回复

登录后才能评论
关注微信