`
isiqi
  • 浏览: 16760162 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

C#发送Email邮件方法总结

阅读更多

通过.Net FrameWork 2.0下提供的“System.Net.Mail”可以轻松的实现,本文列举了3种途径来发送:
1.通过Localhost;
2.通过普通SMTP;
3.通过SSL的SMTP;

下面一个一个来说:

1.通过LocalHost


1public void SendMailLocalhost()
2 ...{
3 System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage();
4 msg.To.Add("a@a.com");
5 msg.To.Add("b@b.com");
6 /**//*
7 * msg.To.Add("b@b.com");
8 * msg.To.Add("b@b.com");
9 * msg.To.Add("b@b.com");可以发送给多人
10 */
11 msg.CC.Add("c@c.com");
12 /**//*
13 * msg.CC.Add("c@c.com");
14 * msg.CC.Add("c@c.com");可以抄送给多人
15 */
16 msg.From = new MailAddress("a@a.com", "AlphaWu", System.Text.Encoding.UTF8);
17 /**//* 上面3个参数分别是发件人地址(可以随便写),发件人姓名,编码*/
18 msg.Subject = "这是测试邮件";//邮件标题
19 msg.SubjectEncoding = System.Text.Encoding.UTF8;//邮件标题编码
20 msg.Body = "邮件内容";//邮件内容
21 msg.BodyEncoding = System.Text.Encoding.UTF8;//邮件内容编码
22 msg.IsBodyHtml = false;//是否是HTML邮件
23 msg.Priority = MailPriority.High;//邮件优先级
24
25 SmtpClient client = new SmtpClient();
26 client.Host = "localhost";
27 object userState = msg;
28 try
29 ...{
30 client.SendAsync(msg, userState);
31 //简单一点儿可以client.Send(msg);
32 MessageBox.Show("发送成功");
33 }
34 catch (System.Net.Mail.SmtpException ex)
35 ...{
36 MessageBox.Show(ex.Message, "发送邮件出错");
37 }
38 }
39


2.通过普通SMTP


1public void SendMailUseZj()
2 ...{
3 System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage();
4 msg.To.Add("a@a.com");
5 msg.To.Add("b@b.com");
6 /**//*
7 * msg.To.Add("b@b.com");
8 * msg.To.Add("b@b.com");
9 * msg.To.Add("b@b.com");可以发送给多人
10 */
11 msg.CC.Add("c@c.com");
12 /**//*
13 * msg.CC.Add("c@c.com");
14 * msg.CC.Add("c@c.com");可以抄送给多人
15 */
16 msg.From = new MailAddress("a@a.com", "AlphaWu", System.Text.Encoding.UTF8);
17 /**//* 上面3个参数分别是发件人地址(可以随便写),发件人姓名,编码*/
18 msg.Subject = "这是测试邮件";//邮件标题
19 msg.SubjectEncoding = System.Text.Encoding.UTF8;//邮件标题编码
20 msg.Body = "邮件内容";//邮件内容
21 msg.BodyEncoding = System.Text.Encoding.UTF8;//邮件内容编码
22 msg.IsBodyHtml = false;//是否是HTML邮件
23 msg.Priority = MailPriority.High;//邮件优先级
24
25 SmtpClient client = new SmtpClient();
26 client.Credentials = new System.Net.NetworkCredential("username@zj.com", "userpass");
27 //在zj.com注册的邮箱和密码
28 client.Host = "smtp.zj.com";
29 object userState = msg;
30 try
31 ...{
32 client.SendAsync(msg, userState);
33 //简单一点儿可以client.Send(msg);
34 MessageBox.Show("发送成功");
35 }
36 catch (System.Net.Mail.SmtpException ex)
37 ...{
38 MessageBox.Show(ex.Message, "发送邮件出错");
39 }
40 }
41


上述方法不适用于所有SMTP,经测试zj.com可以,而smtp.163.com不行


3.通过SSL的SMTP


1public void SendMailUseGmail()
2 ...{
3 System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage();
4 msg.To.Add("a@a.com");
5 msg.To.Add("b@b.com");
6 /**//*
7 * msg.To.Add("b@b.com");
8 * msg.To.Add("b@b.com");
9 * msg.To.Add("b@b.com");可以发送给多人
10 */
11 msg.CC.Add("c@c.com");
12 /**//*
13 * msg.CC.Add("c@c.com");
14 * msg.CC.Add("c@c.com");可以抄送给多人
15 */
16 msg.From = new MailAddress("a@a.com", "AlphaWu", System.Text.Encoding.UTF8);
17 /**//* 上面3个参数分别是发件人地址(可以随便写),发件人姓名,编码*/
18 msg.Subject = "这是测试邮件";//邮件标题
19 msg.SubjectEncoding = System.Text.Encoding.UTF8;//邮件标题编码
20 msg.Body = "邮件内容";//邮件内容
21 msg.BodyEncoding = System.Text.Encoding.UTF8;//邮件内容编码
22 msg.IsBodyHtml = false;//是否是HTML邮件
23 msg.Priority = MailPriority.High;//邮件优先级
24
25 SmtpClient client = new SmtpClient();
26 client.Credentials = new System.Net.NetworkCredential("username@gmail.com", "password");
27 //上述写你的GMail邮箱和密码
28 client.Port = 587;//Gmail使用的端口
29 client.Host = "smtp.gmail.com";
30 client.EnableSsl = true;//经过ssl加密
31 object userState = msg;
32 try
33 ...{
34 client.SendAsync(msg, userState);
35 //简单一点儿可以client.Send(msg);
36 MessageBox.Show("发送成功");
37 }
38 catch (System.Net.Mail.SmtpException ex)
39 ...{
40 MessageBox.Show(ex.Message, "发送邮件出错");
41 }
42 }
43
通过Gmail来发送邮件,成功率极高,几乎都可以发到,推荐使用。

分享到:
评论

相关推荐

    C#发送Email邮件三种方法的总结

    ### C#发送Email邮件三种方法详解 随着网络技术的发展,电子邮件成为了企业和个人间进行信息交流的重要方式之一。在.NET Framework 2.0中,通过`System.Net.Mail`命名空间提供了强大的邮件发送功能,使得开发人员...

    C# 发送Email接收邮件 126发送Email Gmail发送Email

    在C#中发送和接收电子邮件是一项常见的任务,这通常涉及到使用SMTP(Simple Mail Transfer Protocol)服务。本篇将详细介绍如何使用C#通过126、163以及Gmail邮箱发送和接收邮件。 首先,我们需要引入`System.Net....

    C# winform 发送电子邮件 email 源码

    在C#中,我们通常使用System.Net.Mail命名空间中的类来实现SMTP服务的交互。 1. **MailMessage类**:这是发送邮件的主要实体,它包含了邮件的所有信息,如发件人、收件人、抄送人、密送人、主题以及邮件正文。例如...

    C#.net发送邮件完整源代码(DEMO完整版)

    在C#.NET编程环境中,发送电子邮件是一项常见的任务,尤其对于开发者来说,可能需要构建自动通知、用户注册验证或数据报告等功能。本资源提供了一个完整的C#.NET发送邮件的DEMO,适用于Visual Studio 2008,且包含了...

    C# Email邮件发送程序

    邮件发送在C#中主要通过System.Net.Mail命名空间中的类来实现。首先,我们需要导入这个命名空间,然后使用SmtpClient类来设置SMTP服务器信息,MailMessage类来构造邮件内容,以及AlternateView类来添加HTML或纯文本...

    c# 阿里云邮件服务发送邮件

    在C#编程中,利用阿里云邮件服务发送邮件是一项常见的任务,尤其对于系统通知、用户验证等场景。本文将深入探讨如何使用C#与阿里云SMTP服务集成,以及解决可能出现的问题。 首先,我们需要在阿里云上创建一个邮箱...

    C# 发送邮件源码

    C#发送邮件主要依赖于`System.Net.Mail`命名空间中的`SmtpClient`类,它提供了发送电子邮件的能力。首先,我们需要导入必要的命名空间: ```csharp using System.Net; using System.Net.Mail; ``` 接下来,我们将...

    C#下通过TLS发送邮件

    在C#编程环境中,通过TLS(Transport Layer Security)发送邮件是一项常见的任务,特别是在现代网络安全标准日益严格的情况下。TLS协议提供了一种加密通信的方式,确保邮件在传输过程中不被窃取或篡改。以下是对这个...

    C#发送邮件

    C#中的System.Net.Mail命名空间提供了MailMessage和SmtpClient类,用于构造邮件消息和连接SMTP服务器进行邮件发送。 1. **创建MailMessage对象**: `MailMessage` 类用于构建邮件信息,包括发件人、收件人、抄送人...

    C# Windows服务 定时自动发送邮件(带附件)

    邮件发送通常涉及SMTP(简单邮件传输协议),C#中的System.Net.Mail命名空间提供了SmtpClient和MailMessage类来实现这一功能。SmtpClient用于连接SMTP服务器,而MailMessage则用来构建邮件内容,包括收件人、主题、...

    C#发送邮件实例

    在C#编程环境中,发送邮件是一项常见的任务,尤其在企业级应用中,如通知系统、自动回复服务等。...通过以上步骤,你就能在C#中实现一个功能完备的邮件发送程序,能够通过QQ邮箱发送包含文本、文件和附件的邮件了。

    C#发送邮件Demo

    在C#中发送邮件,主要涉及到System.Net.Mail命名空间中的几个类,如SmtpClient、MailMessage等。以下将详细解释这些关键知识点: 1. **SmtpClient**:这是C#中用于发送电子邮件的主要类。它负责与SMTP(简单邮件...

    c# email发送demo

    在C#中,我们通常使用`System.Net.Mail`命名空间下的`SmtpClient`类来与SMTP服务器进行交互。 2. **MailMessage对象**:这是`System.Net.Mail`命名空间中的一个类,代表一封电子邮件。它包含了邮件的基本信息,如发...

    C# 发送邮件源码 Winform

    首先,让我们深入理解如何在C#中使用Winform创建一个邮件发送功能。Winform应用程序通常包含多个窗体和控件,如文本框、按钮等。在这个场景中,我们可能有一个窗体,用户可以输入收件人、主题、正文以及附件信息,...

    C#发送QQ邮件

    在C#中,我们可以利用.NET Framework提供的`System.Net.Mail`命名空间中的`SmtpClient`类和`MailMessage`类来实现这一功能。`SmtpClient`类负责与SMTP服务器进行通信,而`MailMessage`类则用于构造邮件信息,包括发...

    c#实现邮件发送

    在C#编程环境中,实现邮件发送功能是一项常见的需求,无论是Web应用程序还是WinFrom桌面应用,邮件服务都能帮助用户进行信息的传递和沟通。本篇将详细介绍如何使用C#实现邮件发送,以及涉及到的关键技术和步骤。 ...

    C# website 发送邮件(附源代码)

    总的来说,通过C#在Web应用程序中发送邮件是一项常见的任务,涉及到网络通信、邮件协议以及Web开发的交互逻辑。利用`System.Net.Mail`库,开发者可以轻松地集成这个功能,为用户提供便捷的邮件服务。而源代码的提供...

    C#发送邮件例子 By Andrew

    在C#编程中,发送电子邮件是一项常见的任务,用于与用户沟通、发送通知或者进行自动化的数据传输。Andrew提供的这个例子将向...学习并理解这个例子,有助于开发者掌握在C#中发送邮件的方法,从而在实际项目中灵活运用。

    c#写的向用户发送email的代码配置

    在C#编程中,发送电子邮件是一项常见的任务,用于与用户进行通信、提供服务通知或接收反馈。本篇文章将深入探讨如何使用C#编写代码来配置并实现向用户发送电子邮件的功能。 首先,要发送电子邮件,我们需要使用.NET...

    C#实现发送邮件功能

    总结一下,C#实现发送邮件功能主要涉及以下几个关键点: 1. 使用`System.Net.Mail`命名空间中的`SmtpClient`和`MailMessage`类。 2. 配置SMTP服务器的信息,包括服务器地址、端口、用户名和密码。 3. 创建`...

Global site tag (gtag.js) - Google Analytics