.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 设置发件人、收件人、主题、正文,并添加附件:

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

AI封面生成器

专业的AI封面生成工具,支持小红书、公众号、小说、红包、视频封面等多种类型,一键生成高质量封面图片。

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

查看详情 .NET怎么发送一封带附件的电子邮件

// 创建邮件对象
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)。

基本上就这些,不复杂但容易忽略细节。

暂无评论

发送评论 编辑评论


				
上一篇
下一篇
text=ZqhQzanResources