发布时间:2026-09-28 18:18:52 浏览次数:2
利用.NET代码实现发送邮件的完整攻略如下:
使用.NET发送邮件需要配置SMTP(Simple Mail Transfer Protocol)服务器。SMTP服务器是邮件服务器中负责发邮件的,可以是自己部署在本机或者使用第三方的SMTP服务商提供的服务。在本机搭建SMTP服务器需要专业的知识,因此我们在这里选择使用第三方提供的SMTP服务商进行配置。常用的SMTP服务商有Gmail、QQ等。
以Gamil为例,在Gmail中,我们需要开启SMTP服务。方法是:
在.NET应用程序中发送邮件需要使用System.Net.Mail命名空间,因此在代码中要首先引用该命名空间。
using System.Net.Mail;发送邮件需要构建一个MailMessage对象,这个对象包含邮件的一些基本信息,如发件人地址、收件人地址、主题、内容等。
MailMessage mailMessage = new MailMessage();mailMessage.From = new MailAddress("sender@gmail.com"); // 发件人地址mailMessage.To.Add("recipient@qq.com"); // 收件人地址mailMessage.Subject = "邮件主题"; // 邮件主题mailMessage.Body = "邮件内容"; // 邮件内容接下来我们要配置SMTP客户端,这个过程需要设置SMTP服务商提供的登录地址、端口号以及登录名和密码。
SmtpClient smtpClient = new SmtpClient();smtpClient.Host = "smtp.gmail.com"; // SMTP服务器地址smtpClient.Port = 587; // SMTP端口号smtpClient.EnableSsl = true; // 启用SSL加密smtpClient.Credentials = new System.Net.NetworkCredential("sender@gmail.com", "password"); // 发件人登录名和密码最后一步,我们通过Send方法来发送邮件,如果一切顺利,代码会返回一个空值,否则会抛出异常。
smtpClient.Send(mailMessage);下面给出一个完整的邮件发送示例,该代码可以发送一个包含附件的邮件。
using System.Net.Mail;MailMessage mailMessage = new MailMessage(new MailAddress("sender@gmail.com"), new MailAddress("recipient@qq.com")); // 发送邮件mailMessage.Subject = "测试邮件"; // 邮件主题mailMessage.Body = "这是一封测试邮件"; // 邮件正文mailMessage.Attachments.Add(new Attachment(@"D:\test.txt")); // 添加附件SmtpClient smtpClient = new SmtpClient();smtpClient.Host = "smtp.gmail.com"; // SMTP服务器地址smtpClient.Port = 587; // SMTP端口号smtpClient.EnableSsl = true; // 启用SSL加密smtpClient.Credentials = new System.Net.NetworkCredential("sender@gmail.com", "password"); // 发件人登录名和密码smtpClient.Send(mailMessage); // 发送邮件下面给出一个完整的邮件发送示例,该代码可以发送一个HTML格式的邮件。
using System.Net.Mail;using System.Text;MailMessage mailMessage = new MailMessage(new MailAddress("sender@gmail.com"), new MailAddress("recipient@qq.com")); // 发送邮件mailMessage.Subject = "HTML邮件"; // 邮件主题mailMessage.BodyEncoding = Encoding.UTF8; // 邮件内容使用UTF-8编码mailMessage.Headers.Add("X-Mailer", "Microsoft Outlook Express 6.00.2900.2869");mailMessage.IsBodyHtml = true; // 邮件内容采用HTML格式string htmlBody = @"<html><body><h1>这是一封HTML邮件</h1></body></html>";mailMessage.Body = htmlBody; // 邮件正文SmtpClient smtpClient = new SmtpClient();smtpClient.Host = "smtp.gmail.com"; // SMTP服务器地址smtpClient.Port = 587; // SMTP端口号smtpClient.EnableSsl = true; // 启用SSL加密smtpClient.Credentials = new System.Net.NetworkCredential("sender@gmail.com", "password"); // 发件人登录名和密码smtpClient.Send(mailMessage); // 发送邮件