C# 发送邮件指南:包括SMTP与HTML邮件
3星 · 超过75%的资源 | 下载需积分: 3 | DOC格式 | 36KB |
更新于2025-01-07
| 132 浏览量 | 举报
“C# E-mail处理,包括了使用C#进行邮件处理的技巧,提供了VB.NET的参考代码,主要涉及了使用System.Web.Mail和System.Net.Mail发送邮件的方法。”
在C#编程中,处理电子邮件是一项常见的任务,特别是对于系统集成、自动化通知或者用户交互等场景。以下是一些使用C#发送邮件的关键知识点:
1. 使用System.Web.Mail发送邮件:
这个类库适用于.NET Framework 1.1,但在.NET 2.0及以后的版本中已被弃用。下面是一个简单的示例:
```csharp
MailMessage mail = new MailMessage();
mail.To = "me@mycompany.com";
mail.From = "you@yourcompany.com";
mail.Subject = "thisisatestemail.";
mail.Body = "thisismytestemailbody";
SmtpMail.SmtpServer = "localhost"; // 替换为实际SMTP服务器地址
SmtpMail.Send(mail);
```
在VB.NET中的对应代码是:
```vbnet
Dim mail As New MailMessage()
mail.To = "me@mycompany.com"
mail.From = "you@yourcompany.com"
mail.Subject = "thisisatestemail."
mail.Body = "thisismytestemailbody"
SmtpMail.SmtpServer = "localhost" ' 替换为实际SMTP服务器地址
SmtpMail.Send(mail)
```
注意,使用`SmtpMail.SmtpServer`设置的SMTP服务器需要是无需验证即可发送邮件的服务器,如126、sina、yahoo等免费邮箱,但大多数情况下,这些服务提供商的SMTP服务器都需要身份验证。
2. 发送HTML格式的邮件:
如果需要发送包含HTML格式内容的邮件,可以设置`MailMessage`对象的`BodyFormat`属性为`MailFormat.Html`:
```csharp
mail.BodyFormat = MailFormat.Html;
mail.Body = "thisismytestemailbody.<br><b>thispartisinbold</b>";
```
VB.NET代码如下:
```vbnet
mail.BodyFormat = MailFormat.Html
mail.Body = "thisismytestemailbody.<br><b>thispartisinbold</b>"
```
3. 使用System.Net.Mail发送邮件:
对于.NET 2.0及更高版本,推荐使用`System.Net.Mail`命名空间的`SmtpClient`和`MailMessage`类来发送邮件,支持身份验证和其他高级功能:
```csharp
using System.Net;
using System.Net.Mail;
MailMessage mail = new MailMessage();
mail.To.Add("me@mycompany.com");
mail.From = new MailAddress("you@yourcompany.com");
mail.Subject = "thisisatestemail.";
mail.IsBodyHtml = true; // 设置为HTML格式
mail.Body = "thisismytestemailbody<br><b>thispartisinbold</b>";
SmtpClient smtp = new SmtpClient("smtp.example.com"); // 替换为实际SMTP服务器
smtp.Credentials = new NetworkCredential("username", "password"); // 添加认证信息
smtp.Send(mail);
```
VB.NET版本:
```vbnet
Imports System.Net
Imports System.Net.Mail
Dim mail As New MailMessage()
mail.To.Add("me@mycompany.com")
mail.From = New MailAddress("you@yourcompany.com")
mail.Subject = "thisisatestemail."
mail.IsBodyHtml = True ' 设置为HTML格式
mail.Body = "thisismytestemailbody<br><b>thispartisinbold</b>"
Dim smtp As New SmtpClient("smtp.example.com") ' 替换为实际SMTP服务器
smtp.Credentials = New NetworkCredential("username", "password") ' 添加认证信息
smtp.Send(mail)
```
使用`System.Net.Mail`,你可以更灵活地配置SMTP服务器,如端口、安全选项(SSL/TLS)以及使用网络凭据进行身份验证。
总结来说,C#中处理电子邮件涉及到创建`MailMessage`对象,设置收件人、发件人、主题和正文,然后通过`SmtpClient`或`SmtpMail`类发送。对于需要身份验证的SMTP服务器,应使用`System.Net.Mail`,因为它提供了更多的控制和安全性。同时,如果要发送HTML格式的邮件,记得设置`IsBodyHtml`属性为`true`。
相关推荐
wflp1200
- 粉丝: 0
- 资源: 13
最新资源
- Hibernate3.2 实用技术手册
- Red Hat Linux AS4 上安装 Oracle 10g
- 虚拟域名的配置和设置方法
- Windows Server 2003 群集安装指南
- 在MyEclipse6.0中安装FLEX插件的过程
- DWR中文文档 (DWR 2.0)
- 电子科技大学 组成原理
- Tapestry 开发指南
- Flex开发环境配置手册
- Exchange Server 2007统一消息服务器配置手册
- Matlab处理图像函数大全
- java技术——让学员少走弯路
- PK-OS VII User Guide
- SPSS词汇中英文对照表
- Exchange Server 2003 传输和路由指南
- Web应用攻击简解-目录遍历攻击