- 浏览: 63275 次
- 性别:
- 来自: 烟台
最新评论
// 引入命名空间
using System.Net;
using System.Net.Mail;
SmtpClient smtp = new SmtpClient(); //实例化一个SmtpClient
smtp.DeliveryMethod = SmtpDeliveryMethod.Network; //将smtp的出站方式设为 Network
smtp.EnableSsl = false;//smtp服务器是否启用SSL加密smtp.Host = "smtp.163.com"; //指定 smtp 服务器地址
smtp.Port = 25; //指定 smtp 服务器的端口,默认是25,如果采用默认端口,可省去//如果你的SMTP服务器不需要身份认证,则使用下面的方式,不过,目前基本没有不需要认证的了
smtp.UseDefaultCredentials = true;
//如果需要认证,则用下面的方式
smtp.Credentials = new NetworkCredential("邮箱帐号@163.com", "邮箱密码");MailMessage mm = new MailMessage(); //实例化一个邮件类mm.Priority = MailPriority.High; //邮件的优先级,分为 Low, Normal, High,通常用 Normal即可mm.From = new MailAddress("邮箱帐号@163.com", "真有意思", Encoding.GetEncoding(936));
//收件方看到的邮件来源;
//第一个参数是发信人邮件地址
//第二参数是发信人显示的名称
//第三个参数是 第二个参数所使用的编码,如果指定不正确,则对方收到后显示乱码
//936是简体中文的codepage值
注:上面的邮件来源,一定要和你登录邮箱的帐号一致,否则会认证失败
mm.ReplyTo = new MailAddress("test_box@gmail.com", "我的接收邮箱", Encoding.GetEncoding(936));
//ReplyTo 表示对方回复邮件时默认的接收地址,即:你用一个邮箱发信,但却用另一个来收信
//上面后两个参数的意义, 同 From 的意义mm.CC.Add("a@163.com,b@163.com,c@163.com");
//邮件的抄送者,支持群发,多个邮件地址之间用 半角逗号 分开
//当然也可以用全地址,如下:
mm.CC.Add(new MailAddress("a@163.com", "抄送者A", Encoding.GetEncoding(936)));
mm.CC.Add(new MailAddress("b@163.com", "抄送者B", Encoding.GetEncoding(936)));
mm.CC.Add(new MailAddress("c@163.com", "抄送者C", Encoding.GetEncoding(936)));
mm.Bcc.Add("d@163.com,e@163.com");
//邮件的密送者,支持群发,多个邮件地址之间用 半角逗号 分开
//当然也可以用全地址,如下:
mm.CC.Add(new MailAddress("d@163.com", "密送者D", Encoding.GetEncoding(936)));
mm.CC.Add(new MailAddress("e@163.com", "密送者E", Encoding.GetEncoding(936)));mm.Sender = new MailAddress("xxx@xxx.com", "邮件发送者", Encoding.GetEncoding(936));
//可以任意设置,此信息包含在邮件头中,但并不会验证有效性,也不会显示给收件人
//说实话,我不知道有啥实际作用,大家可不理会,也可不写此项mm.To.Add("g@163.com,h@163.com");
//邮件的接收者,支持群发,多个地址之间用 半角逗号 分开
//当然也可以用全地址添加
mm.To.Add(new MailAddress("g@163.com", "接收者g", Encoding.GetEncoding(936)));
mm.To.Add(new MailAddress("h@163.com", "接收者h", Encoding.GetEncoding(936)));mm.Subject = "这是邮件标题"; //邮件标题
mm.SubjectEncoding = Encoding.GetEncoding(936);
// 这里非常重要,如果你的邮件标题包含中文,这里一定要指定,否则对方收到的极有可能是乱码。
// 936是简体中文的pagecode,如果是英文标题,这句可以忽略不用mm.IsBodyHtml = true; //邮件正文是否是HTML格式
mm.BodyEncoding = Encoding.GetEncoding(936);
//邮件正文的编码, 设置不正确, 接收者会收到乱码
mm.Body = "<font color="red">邮件测试,呵呵</font>";
//邮件正文mm.Attachments.Add( new Attachment( @"d:a.doc", System.Net.Mime.MediaTypeNames.Application.Rtf ) );
//添加附件,第二个参数,表示附件的文件类型,可以不用指定
//可以添加多个附件
mm.Attachments.Add( new Attachment( @"d:b.doc") );smtp.Send( mm ); //发送邮件,如果不返回异常, 则大功告成了。
//发送Email
using System.Web.Mail;
using System.Net.Mail;
using System.Net;
/// <summary>
/// 发送EMail
/// </summary>
/// <param name="title">标题</param>
/// <param name="body">内容</param>
/// <param name="toAdress">发送到哪</param>
/// <param name="fromAdress">从哪发送</param>
/// <param name="userName">用户名</param>
/// <param name="userPwd">密码</param>
/// <param name="smtpHost">smtp服务器</param>
private void SendMail(string title, string body, string toAddress, string fromAddress, string username, string userpwd, string smtphost)
{
try
{
MailAddress to = new MailAddress(toAddress);
MailAddress from = new MailAddress(fromAddress);
System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage(from, to);
message.Subject = title;
message.Body = body;
SmtpClient smtp = new SmtpClient();
smtp.UseDefaultCredentials = true;
smtp.Port = 25;
smtp.Credentials = new NetworkCredential(username, userpwd);
smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
smtp.Host = smtphost;
message.To.Add(toAddress);
smtp.Send(message);
}
catch (Exception ex)
{
Response.Write(ex.Message);
throw;
}
}
测试:
SendMail("测试一下啊", "今天中午有好饭", "ding688@tom.com", "ding20688@163.com", "ding20688", "lejin%79", "smtp.163.com");
using System.Net;
using System.Net.Mail;
SmtpClient smtp = new SmtpClient(); //实例化一个SmtpClient
smtp.DeliveryMethod = SmtpDeliveryMethod.Network; //将smtp的出站方式设为 Network
smtp.EnableSsl = false;//smtp服务器是否启用SSL加密smtp.Host = "smtp.163.com"; //指定 smtp 服务器地址
smtp.Port = 25; //指定 smtp 服务器的端口,默认是25,如果采用默认端口,可省去//如果你的SMTP服务器不需要身份认证,则使用下面的方式,不过,目前基本没有不需要认证的了
smtp.UseDefaultCredentials = true;
//如果需要认证,则用下面的方式
smtp.Credentials = new NetworkCredential("邮箱帐号@163.com", "邮箱密码");MailMessage mm = new MailMessage(); //实例化一个邮件类mm.Priority = MailPriority.High; //邮件的优先级,分为 Low, Normal, High,通常用 Normal即可mm.From = new MailAddress("邮箱帐号@163.com", "真有意思", Encoding.GetEncoding(936));
//收件方看到的邮件来源;
//第一个参数是发信人邮件地址
//第二参数是发信人显示的名称
//第三个参数是 第二个参数所使用的编码,如果指定不正确,则对方收到后显示乱码
//936是简体中文的codepage值
注:上面的邮件来源,一定要和你登录邮箱的帐号一致,否则会认证失败
mm.ReplyTo = new MailAddress("test_box@gmail.com", "我的接收邮箱", Encoding.GetEncoding(936));
//ReplyTo 表示对方回复邮件时默认的接收地址,即:你用一个邮箱发信,但却用另一个来收信
//上面后两个参数的意义, 同 From 的意义mm.CC.Add("a@163.com,b@163.com,c@163.com");
//邮件的抄送者,支持群发,多个邮件地址之间用 半角逗号 分开
//当然也可以用全地址,如下:
mm.CC.Add(new MailAddress("a@163.com", "抄送者A", Encoding.GetEncoding(936)));
mm.CC.Add(new MailAddress("b@163.com", "抄送者B", Encoding.GetEncoding(936)));
mm.CC.Add(new MailAddress("c@163.com", "抄送者C", Encoding.GetEncoding(936)));
mm.Bcc.Add("d@163.com,e@163.com");
//邮件的密送者,支持群发,多个邮件地址之间用 半角逗号 分开
//当然也可以用全地址,如下:
mm.CC.Add(new MailAddress("d@163.com", "密送者D", Encoding.GetEncoding(936)));
mm.CC.Add(new MailAddress("e@163.com", "密送者E", Encoding.GetEncoding(936)));mm.Sender = new MailAddress("xxx@xxx.com", "邮件发送者", Encoding.GetEncoding(936));
//可以任意设置,此信息包含在邮件头中,但并不会验证有效性,也不会显示给收件人
//说实话,我不知道有啥实际作用,大家可不理会,也可不写此项mm.To.Add("g@163.com,h@163.com");
//邮件的接收者,支持群发,多个地址之间用 半角逗号 分开
//当然也可以用全地址添加
mm.To.Add(new MailAddress("g@163.com", "接收者g", Encoding.GetEncoding(936)));
mm.To.Add(new MailAddress("h@163.com", "接收者h", Encoding.GetEncoding(936)));mm.Subject = "这是邮件标题"; //邮件标题
mm.SubjectEncoding = Encoding.GetEncoding(936);
// 这里非常重要,如果你的邮件标题包含中文,这里一定要指定,否则对方收到的极有可能是乱码。
// 936是简体中文的pagecode,如果是英文标题,这句可以忽略不用mm.IsBodyHtml = true; //邮件正文是否是HTML格式
mm.BodyEncoding = Encoding.GetEncoding(936);
//邮件正文的编码, 设置不正确, 接收者会收到乱码
mm.Body = "<font color="red">邮件测试,呵呵</font>";
//邮件正文mm.Attachments.Add( new Attachment( @"d:a.doc", System.Net.Mime.MediaTypeNames.Application.Rtf ) );
//添加附件,第二个参数,表示附件的文件类型,可以不用指定
//可以添加多个附件
mm.Attachments.Add( new Attachment( @"d:b.doc") );smtp.Send( mm ); //发送邮件,如果不返回异常, 则大功告成了。
//发送Email
using System.Web.Mail;
using System.Net.Mail;
using System.Net;
/// <summary>
/// 发送EMail
/// </summary>
/// <param name="title">标题</param>
/// <param name="body">内容</param>
/// <param name="toAdress">发送到哪</param>
/// <param name="fromAdress">从哪发送</param>
/// <param name="userName">用户名</param>
/// <param name="userPwd">密码</param>
/// <param name="smtpHost">smtp服务器</param>
private void SendMail(string title, string body, string toAddress, string fromAddress, string username, string userpwd, string smtphost)
{
try
{
MailAddress to = new MailAddress(toAddress);
MailAddress from = new MailAddress(fromAddress);
System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage(from, to);
message.Subject = title;
message.Body = body;
SmtpClient smtp = new SmtpClient();
smtp.UseDefaultCredentials = true;
smtp.Port = 25;
smtp.Credentials = new NetworkCredential(username, userpwd);
smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
smtp.Host = smtphost;
message.To.Add(toAddress);
smtp.Send(message);
}
catch (Exception ex)
{
Response.Write(ex.Message);
throw;
}
}
测试:
SendMail("测试一下啊", "今天中午有好饭", "ding688@tom.com", "ding20688@163.com", "ding20688", "lejin%79", "smtp.163.com");
发表评论
-
控件的使用
2011-12-31 18:49 6351、AdRotator控件用法 <asp:AdRotat ... -
常用的简单算法
2011-11-17 20:38 794用二重循环实现冒泡排序 1 如何用二重循环将5个数字排序?N ... -
状态管理
2011-10-31 22:06 758内置对象方法 信息量大小 作用 ... -
现在免费的.Net空间越来越少了,我发现了个空间大,而且完全免费的
2011-10-30 12:33 10云空间-全面进入免费云时代-国内首家免费T级云空间! 云空间- ... -
Asp.Net小技巧合集
2011-09-15 18:33 80420120122 小雪 在google中找免费的电子书籍 搜索 ... -
根据数据库现有数据生成单号
2011-08-01 22:45 907/// <summary> /// ... -
FreeTextBox控件的用法
2011-08-01 22:42 1116下载网址:http://freetextbox.com/def ... -
RSS读取文章
2011-08-01 22:37 1069/// <summary> /// 加载R ... -
Treeview控件的用法
2011-07-31 22:30 2004//treeview控件的用法,据我现在看,以下方法在winf ... -
数据库读取和保存图片
2011-07-31 20:49 922//从数据库读取图片,并保存为11.jpg using (Sq ... -
绘制饼图
2011-07-31 20:38 618using System.Drawing; public pa ... -
WebGrid用法
2011-07-31 12:15 5217首先安装Infragistics.NetAdv ... -
封装的上传文件的方法
2011-03-19 18:24 1082//上传按钮 protected void Butt ... -
IO操作
2011-03-19 18:22 6701、創建目錄,支持多級,根據輸入的目錄地址 Director ... -
彈出提示框
2011-03-19 18:19 9381、Response.Write(“<script la ... -
report service研究
2011-03-19 18:19 998報表服務器 Overwritedatasources ... -
Asp.net通用方法及属性
2011-03-19 17:57 7941. 在ASP.NET中专用属性: 获取服务器计算机名:P ... -
C#读写注册表操作类
2011-03-19 17:48 1248using System; using System.Coll ... -
保存DataTable的数据
2011-03-19 17:47 2216在botton的click事件中定义datatable,当cl ... -
在Asp.Net中使用事务
2011-03-16 21:37 688private string mConnStr = Confi ...
相关推荐
在C#中发送和接收电子邮件是一项常见的任务,这通常涉及到使用SMTP(Simple Mail Transfer Protocol)服务。本篇将详细介绍如何使用C#通过126、163以及Gmail邮箱发送和接收邮件。 首先,我们需要引入`System.Net....
"c# email发送demo"是一个示例项目,它展示了如何在C#环境中实现邮件发送功能。这个项目可能包含一个名为"Maillib"的库或类,其中封装了邮件发送的相关逻辑。以下是对这个主题的详细讲解: 1. **SMTP(Simple Mail ...
在本场景中,我们关注的是使用C#来编写一个电子邮件发送程序。这通常涉及到.NET框架中的System.Net.Mail命名空间,它提供了用于发送电子邮件的类和方法。 电子邮件发送在商业和日常通信中扮演着重要角色,而使用C#...
对于标签中的"Email",在C#中,电子邮件操作涉及到对SMTP协议的理解和使用.NET框架提供的邮件类库。"C#"作为编程语言,提供了强大的邮件处理能力。在实际应用中,我们还可以结合其他技术,比如定时任务(如Windows...
C#语言 email发送,smtpclient方式 正常上网环境,有代理方式的代码,但测试不成功
本文将深入探讨如何使用C# WinForm来实现电子邮件的发送功能,这是一项常见的需求,尤其是在自动化任务、通知系统或者用户交互中。 首先,发送电子邮件涉及的核心概念是SMTP(Simple Mail Transfer Protocol),它...
在C#编程中,发送电子邮件是一项常见的任务,尤其在开发Web应用、自动化脚本或服务时。本教程将深入探讨如何使用C#语言通过163邮箱实现邮件发送功能。 首先,我们需要了解SMTP(Simple Mail Transfer Protocol)...
以下是对C#发送Email源代码的详细解释。 1. **SMTP协议**:SMTP(Simple Mail Transfer Protocol)是互联网上的标准协议,用于发送电子邮件。C#通过.NET Framework的`System.Net.Mail`命名空间提供了对SMTP的支持。...
本项目提供了一个用C#编写的发送Email的工具,适用于开发者学习和参考。以下将详细介绍涉及到的关键知识点和代码文件的作用。 1. **SMTP(Simple Mail Transfer Protocol)**:SMTP是用于发送电子邮件的标准协议。...
在提供的"**C# Email发送程序下载页**"中,可能包含了示例代码、文档或其他资源,帮助开发者快速上手并理解C#邮件发送的实现过程。通过实践这些示例,可以更好地掌握这一关键技能,并将其应用于实际项目中。
#### 二、C#发送电子邮件基础 ##### 2.1 使用`System.Net.Mail`命名空间 在C#中,发送电子邮件主要依赖于.NET框架中的`System.Net.Mail`命名空间。该命名空间提供了用于发送电子邮件的类和方法。例如,`...
根据提供的文件信息,我们可以深入探讨如何使用C#发送电子邮件,并且详细解析文件中提到的关键步骤和技术要点。 ### C# 发送Email实例 #### 一、背景介绍 在现代软件开发中,电子邮件是一种非常重要的通信手段。它...
在C#.NET编程环境中,发送电子邮件是一项常见的任务,尤其对于开发者来说,可能需要构建自动通知、用户注册验证或数据报告等功能。本资源提供了一个完整的C#.NET发送邮件的DEMO,适用于Visual Studio 2008,且包含了...
在C#编程中,发送邮件是一项常见的任务,用于与用户通信、发送通知或者进行自动化的数据传输。在本文中,我们将深入探讨如何使用C#来编写邮件发送代码,并且了解授权码的获取和使用。 首先,C#中发送邮件主要依赖于...
通过.Net FrameWork 2.0下提供的“System.Net.Mail”可以轻松的实现
在C#编程环境中,SMTP(Simple Mail Transfer Protocol)服务常被用来发送电子邮件。这个过程涉及到多个关键步骤和组件,下面将详细讲解如何使用C#通过SMTP发送带有附件的邮件。 首先,我们需要导入必要的命名空间...
在C#编程中,发送电子邮件是一项常见的任务,用于与用户进行通信、提供服务通知或接收反馈。本篇文章将深入探讨如何使用C#编写代码来配置并实现向用户发送电子邮件的功能。 首先,要发送电子邮件,我们需要使用.NET...
【博主推荐】C# Winform定时发送邮箱(附源码),1.支持对oracle数据定时查询,然后把查询结果发送邮箱;2.灵活可配置,日志目录,数据库相关连接,展示的字段,展示的格式,发送的邮箱,表格的风格等; 3.可以在此...
在C#编程环境中,批量发送邮件是一项常见的任务,特别是在企业应用中,如向员工分发工资单或报表。本教程将深入探讨如何利用C#来实现这个功能,特别是在结合Excel数据进行个性化发送时的实现方法。 首先,我们需要...