C# 实例教程:如何发送带附件的电子邮件

3星 · 超过75%的资源 需积分: 9 10 下载量 150 浏览量 更新于2024-09-18 收藏 2KB TXT 举报
"C# 发送电子邮件实例源码是一个演示如何使用C#编程语言通过SMTP协议发送邮件的应用程序。此代码示例详细展示了如何创建、配置并发送带有多个收件人、主题、正文以及附件的电子邮件。" 在C#中,发送电子邮件主要依赖于`System.Net.Mail`命名空间中的类。以下是从给定代码片段中提炼出的关键知识点: 1. **`MailMessage` 类**: 用于创建电子邮件对象,包含了邮件的所有属性,如发件人、收件人、主题和正文。在代码中,`msg`是`MailMessage`的一个实例,用于设置邮件内容。 - `msg.To.Add()`: 添加收件人,这里添加了多个QQ邮箱地址。 - `msg.From`: 设置发件人,包括邮箱地址和显示名称。 - `msg.Subject`: 设置邮件的主题。 - `msg.Body`: 设置邮件的正文内容,可选择是否为HTML格式。 - `msg.BodyEncoding`: 设置邮件正文的编码方式,这里使用了UTF-8。 - `msg.IsBodyHtml`: 如果设为`true`,表示邮件正文是HTML格式。 - `msg.Priority`: 设置邮件优先级,`MailPriority.High`表示高优先级。 2. **`SmtpClient` 类**: 负责实际的邮件发送工作,它使用SMTP(Simple Mail Transfer Protocol)协议与邮件服务器交互。 - `client.Credentials`: 设置SMTP服务器的认证信息,包括用户名和密码。 - `client.Port`: 配置SMTP服务器的端口号,通常25或587。 - `client.Host`: 指定SMTP服务器的地址,这里是126.com的SMTP服务器。 - `client.EnableSsl`: 是否启用SSL加密,提高安全性。 3. **发送邮件**: - `client.Send(msg)`: 使用`SmtpClient`实例发送已配置好的`MailMessage`。 在实际应用中,这个源码还可以扩展以处理更多情况,例如添加抄送人(`msg.CC.Add()`)、密送人(`msg.Bcc.Add()`)、添加附件(`msg.Attachments.Add()`)等。同时,为了提高代码的健壮性和用户体验,可以添加错误处理机制,如异常捕获和用户反馈。此外,考虑到不同邮件服务商的SMTP设置可能不同,可能需要动态配置SMTP服务器的相关参数。