C# 实现邮件发送全攻略:本地、SMTP、SSL
需积分: 0 100 浏览量
更新于2024-07-31
收藏 146KB DOC 举报
“C#发送email相关操作整理,涵盖了通过Localhost、普通SMTP和SSL的SMTP发送邮件的方法。”
在C#编程中,发送电子邮件是一项常见的任务,可以借助.NET Framework 2.0及更高版本中的“System.Net.Mail”命名空间实现。这里我们将详细探讨三种不同的方式来发送邮件。
1. 通过Localhost发送邮件:
```csharp
public void SendMailLocalhost()
{
// 创建MailMessage对象
System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage();
// 添加收件人
msg.To.Add("a@a.com");
msg.To.Add("b@b.com");
// 可以添加多个收件人,注释部分展示了如何添加更多
// 添加抄送人
msg.CC.Add("c@c.com");
// 设置发件人信息
msg.From = new MailAddress("a@a.com", "AlphaWu", System.Text.Encoding.UTF8);
// 设置邮件主题和内容
msg.Subject = "这是测试邮件";
msg.SubjectEncoding = System.Text.Encoding.UTF8;
msg.Body = "邮件内容";
msg.BodyEncoding = System.Text.Encoding.UTF8;
// 其他设置,如邮件优先级
msg.IsBodyHTML = false;
msg.Priority = MailPriority.High;
// 创建SmtpClient对象,设置主机为Localhost
SmtpClient client = new SmtpClient();
client.Host = "localhost";
// 使用异步发送邮件,或使用client.Send(msg)进行同步发送
client.SendAsync(msg, null);
}
```
这个示例展示了如何配置邮件内容,包括收件人、抄送人、发件人、主题、内容等,并通过本地SMTP服务器发送邮件。如果本地主机配置了SMTP服务,如IIS等,这个方法将有效。
2. 通过普通SMTP发送邮件:
发送邮件通常涉及SMTP服务器,例如使用Gmail的SMTP服务器。你需要提供SMTP服务器地址、端口、用户名和密码等信息。以下是一个使用Gmail SMTP服务器的示例:
```csharp
SmtpClient client = new SmtpClient("smtp.gmail.com", 587);
client.EnableSsl = true;
client.UseDefaultCredentials = false;
client.Credentials = new NetworkCredential("your-email@gmail.com", "your-password");
```
3. 通过SSL的SMTP发送邮件:
SSL用于加密通信,确保邮件内容的安全。在上面的Gmail示例中,`client.EnableSsl = true;`已经启用了SSL。
总结,C#中发送电子邮件涉及的主要类有`MailMessage`(存储邮件信息)和`SmtpClient`(处理邮件发送)。你可以根据实际需求选择合适的SMTP服务器配置,并调整邮件的各种属性,如是否为HTML格式、优先级等。这些方法对于开发自动发送通知、报告或其他类型的电子邮件功能非常有用。
145 浏览量
2022-12-07 上传
2017-10-17 上传
2013-07-18 上传
2021-10-13 上传
点击了解资源详情
2024-12-23 上传
2024-12-23 上传