C#利用CDO.Message发送邮件
时间: 2024-10-13 11:04:49 浏览: 67
在C#中,你可以使用System.Net.Mail命名空间下的CDO.Message类来发送电子邮件。这是一个基于COM组件的技术,虽然不是推荐的最佳实践,但在一些特定场景下可以使用。以下是发送邮件的基本步骤:
1. 引入必要的命名空间:
```csharp
using System;
using System.Net;
using System.Net.Mail;
using System.Runtime.InteropServices;
```
2. 创建`MailMessage`实例并设置信息:
```csharp
MailMessage message = new MailMessage();
message.From = new MailAddress("your_email@example.com");
message.To.Add("recipient_email@example.com");
message.Subject = "Subject of your email";
message.Body = "The content of your email";
```
3. 初始化`SmtpClient`对象,并指定SMTP服务器地址和端口:
```csharp
SmtpClient smtpClient = new SmtpClient();
smtpClient.Host = "smtp.example.com"; // 你的SMTP服务器地址
smtpClient.Port = 587; // 或者465如果需要加密
```
4. 如果需要身份验证,添加登录信息:
```csharp
smtpClient.Credentials = new NetworkCredential("your_username", "your_password");
```
5. 使用CDO.Message通过SMTP发送邮件:
```csharp
// 使用CDO来创建邮件
object oMsg = Marshal.GetActiveObject("CDO.Application");
CDO.Message msg = (CDO.Message)oMsg.CreateItem(0);
// 设置消息属性
msg.Subject = message.Subject;
msg.HTMLBody = message.Body;
// 将MailMessage转换为CDO.Message以便发送
msg.Session = smtpClient.Session;
msg.SendUsingAccount = smtpClient.Credentials;
// 发送邮件
msg.Send();
```
阅读全文