C# 发送邮件指南:包括SMTP与HTML邮件

3星 · 超过75%的资源 | 下载需积分: 3 | DOC格式 | 36KB | 更新于2025-01-07 | 132 浏览量 | 7 下载量 举报
收藏
“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`。

相关推荐