`MailMessage` 是 .NET Framework 中 `System.Net.Mail` 命名空间中的一个类,用于创建和表示电子邮件的消息。它允许你设置邮件的发送者、收件人、主题、正文内容、附件等属性,以便构造一封完整的电子邮件。
在 C# 中,使用 `MailMessage` 类可以方便地构建电子邮件,并将其传递给 `SmtpClient` 类来发送邮件。以下是 `MailMessage` 类的主要属性和方法:
**重要属性:**
- `From`: 获取或设置发件人的邮件地址。
- `To`: 获取收件人的邮件地址列表,通常使用 `MailAddressCollection` 类型来表示。
- `CC`: 获取抄送收件人的邮件地址列表,同样使用 `MailAddressCollection` 类型。
- `Bcc`: 获取密件抄送收件人的邮件地址列表,同样使用 `MailAddressCollection` 类型。
- `Subject`: 获取或设置邮件的主题。
- `Body`: 获取或设置邮件的正文内容。
- `IsBodyHtml`: 获取或设置一个布尔值,用于指示邮件的正文是否为 HTML 格式。
**重要方法:**
- `Attach`: 将文件附加到邮件消息中,可以添加附件。
- `ReplyToList`: 获取或设置邮件回复地址列表。
- `AddRecipients`: 添加收件人、抄送或密件抄送的邮件地址。
以下是一个简单的示例,展示如何使用 `MailMessage` 类来创建和设置一封电子邮件:
```csharp
using System;
using System.Net.Mail;
class Program
{
static void Main()
{
string fromAddress = "your_email@example.com";
string toAddress = "recipient@example.com";
string subject = "Test Email";
string bodyMessage = "This is a test email message.";
// 创建 MailMessage 实例
MailMessage mailMessage = new MailMessage(fromAddress, toAddress, subject, bodyMessage);
// 设置其他属性
mailMessage.CC.Add("ccrecipient@example.com");
mailMessage.IsBodyHtml = true;
// 发送邮件
SendEmail(mailMessage);
}
static void SendEmail(MailMessage mailMessage)
{
using (SmtpClient smtpClient = new SmtpClient("your_smtp_server", your_port_number))
{
// 替换为你的 SMTP 服务器的用户名和密码
smtpClient.Credentials = new System.Net.NetworkCredential("your_username", "your_password");
smtpClient.EnableSsl = true; // 如果使用 SSL 连接,请设置为 true
try
{
smtpClient.Send(mailMessage);
Console.WriteLine("Email sent successfully!");
}
catch (Exception ex)
{
Console.WriteLine("Failed to send email: " + ex.Message);
}
}
}
}
```
在上面的示例中,我们创建了一个 `MailMessage` 实例,并设置了发件人、收件人、抄送、主题、正文内容和是否为 HTML 格式等属性。然后,我们调用了 `SendEmail` 方法,使用 `SmtpClient` 类来发送邮件。请注意,实际应用中需要替换示例中的 SMTP 服务器、用户名、密码等参数为你实际使用的配置。