c#使用netmail方式发送邮件示例


下面是一个使用C#中的`System.Net.Mail`命名空间发送电子邮件的示例代码。这个示例展示了如何创建一个`MailMessage`对象,设置发件人、收件人、主题和正文,并使用`SmtpClient`发送邮件。


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

class Program
{
    static void Main()
    {
        try
        {
            // 邮件发送者地址
            string fromAddress = "your-email@example.com";
            // 邮件发送者显示名称
            string fromName = "Your Name";

            // SMTP 服务器地址,这里以 Gmail 为例
            string smtpHost = "smtp.gmail.com";
            // SMTP 服务器端口,Gmail 的 SSL 端口是 587
            int port = 587;

            // 邮件接收者地址
            string toAddress = "recipient-email@example.com";

            // 邮件主题
            string subject = "Test Email Subject";

            // 邮件正文
            string body = "This is a test email body.";

            // 创建邮件对象
            MailMessage mail = new MailMessage();
            mail.From = new MailAddress(fromAddress, fromName);
            mail.To.Add(toAddress);
            mail.Subject = subject;
            mail.Body = body;
            mail.IsBodyHtml = false; // 设置邮件正文是否为 HTML 格式

            // SMTP 服务器认证信息,以 Gmail 为例,需要开启“低安全性应用”的访问权限或使用应用专用密码
            string username = "your-email@example.com";
            string password = "your-email-password";

            // 创建 SMTP 客户端对象
            SmtpClient smtp = new SmtpClient(smtpHost, port);
            smtp.EnableSsl = true; // 启用 SSL 加密
            smtp.Credentials = new NetworkCredential(username, password); // 设置认证信息

            // 发送邮件
            smtp.Send(mail);

            Console.WriteLine("Email sent successfully!");
        }
        catch (Exception ex)
        {
            Console.WriteLine("Failed to send email: " + ex.Message);
        }
    }
}

// 注意:请将上述代码中的邮箱地址、用户名和密码替换为您自己的信息。
// 对于 Gmail,您可能需要开启“低安全性应用”的访问权限或使用应用专用密码。
// 另外,请确保您的邮箱服务支持 SMTP 服务,并且端口号、服务器地址等信息正确无误。

请确保您替换了示例代码中的`your-email@example.com`、`recipient-email@example.com`、`your-email-password`等占位符为您自己的实际邮箱地址、收件人邮箱地址和邮箱密码。对于Gmail等邮箱服务,您可能需要在邮箱设置中开启“低安全性应用”的访问权限,或者为应用程序生成并使用应用专用密码。此外,SMTP服务器的地址和端口号也可能因邮箱服务而异,请根据实际情况进行配置。