ASP.NET 3.5 中实现发送email电子邮件
来源:红黑联盟
方法1:cs代码
using System.Net.Mail;
using System.Net;
string mailServerName = "smtp.qq.com"; //发送邮件的SMTP服务器
string mailFrom = "xxxxxx@qq.com"; //发件人邮箱(用126的邮件服务器,就必须用126邮箱的用户名)
string mailTo = "xxxxxx@qq.com"; //收件人邮箱
string subject = "用代码方式发送邮件";//邮件主题
string body = "这里是邮件正文了"; //邮件正文 using (MailMessage message = new MailMessage(mailFrom, mailTo, subject, body))
{
//SmtpClient是发送邮件的主体,这个构造函数是告知SmtpClient发送邮件时使用哪个SMTP服务器
SmtpClient mailClient = new SmtpClient(mailServerName);
//将认证实例赋予mailClient,也就是访问SMTP服务器的用户名和密码
mailClient.Credentials = new NetworkCredential("xxx", "xxxxxx");
//最终的发送方法
mailClient.Send(message);
}
Response.Write("发送成功");
方法2:cs代码+web.config
在web.confg中添加如下代码:(本人试过了,把下面这段代码放在<configuration> </configuration>节内部即可。)
<system.net>
<!--如果是第三方smtp服务器,需要指定userName 和 password,并根据host指定发件人邮件地址from
测试发现from值必须是userName值加上指定的smpt服务器才行,而且是必须指定的
如果是本机smtp服务器,只需指定defaultCredentials="true"即可-->
<mailSettings>
<smtp deliveryMethod="Network" from ="xxxxxx@qq.com" >
<network host="smtp.qq.com" port="25" userName="xxx" password="xxxxxx" />
</smtp>
</mailSettings>
</system.net>
下面我自己的实验截图

CS代码部分:
using System.Net.Mail;
using (MailMessage message = new MailMessage())
{
message.To.Add(new MailAddress("xxxxxxx@qq.com")); //收件人邮箱
message.Subject = "通过配置文件设置发送邮件";//邮件主题
message.Body = "这里是邮件正文了"; //邮件正文 SmtpClient mailClient = new SmtpClient();
mailClient.Send(message);
Response.Write("发送成功");
}
方法3:cs代码(函数)
using System.Net.Mail;
using System.Text;
public bool SendEmail(string mailTo, string mailSubject, string mailContent)
{
// 设置发送方的邮件信息,例如使用网易的smtp
string smtpServer = "smtp.qq.com"; //SMTP服务器
string mailFrom = "XXXXX@qq.com"; //登陆用户名
string userPassword = "XXX";//登陆密码
// 邮件服务设置 SmtpClient
SmtpClient smtpClient = new SmtpClient();
smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
//指定电子邮件发送方式
smtpClient.Host = smtpServer;
//指定SMTP服务器
smtpClient.Credentials = new System.Net.NetworkCredential(mailFrom, userPassword);//用户名和密码
// 发送邮件设置
MailMessage mailMessage = new MailMessage(mailFrom, mailTo); // 发送人和收件人
mailMessage.Subject = mailSubject;//主题
mailMessage.Body = mailContent;//内容
mailMessage.BodyEncoding = Encoding.UTF8;//正文编码
mailMessage.IsBodyHtml = true;//设置为HTML格式
mailMessage.Priority = MailPriority.Low;//优先级
try
{
smtpClient.Send(mailMessage);// 发送邮件
return true;
}
catch (SmtpException ex)
{
return false;
}
} bool result = this.SendEmail("xxxxxxxx@qq.com", "邮件EMAIL主题", "邮件Email内容");
if (result)
{
Response.Write("发送成功");
}
else
{
Response.Write("发送失败");
}
实验的感觉:
通过SMTP发送邮件,方法简单。但是现如今好多网站的SMTP服务器限制的比较严,可能会导致发送失败。
ASP.NET 3.5 中实现发送email电子邮件的更多相关文章
- asp.net发送E-mail
发送电子邮件也是项目开发当中经常用到的功能,这里我整理了一个发送电子邮件(带附件,支持多用户发送,主送.抄送)的类库,供大家参考. 先上两个实体类,用于封装成Mail对象. /// <summa ...
- ASP.NET结合COM组件发送Email
在开发电子邮件发送程序的时候,我们经常需要使用到相应的组件,其实不需要第三方的组件(例如:Jmail)照常可以做到发送Email的功能. 在系统目录(如c:/winnt或c:/windows)的sys ...
- 发送email给列表中的邮箱--python
#!/usr/bin/python # -*- coding: utf-8 -*- # from email.Header import Header from email.MIMEText impo ...
- 如何在ASP.NET Web站点中统一页面布局[Creating a Consistent Layout in ASP.NET Web Pages(Razor) Sites]
如何在ASP.NET Web站点中统一页面布局[Creating a Consistent Layout in ASP.NET Web Pages(Razor) Sites] 一.布局页面介绍[Abo ...
- .NET跨平台之旅:ASP.NET Core从传统ASP.NET的Cookie中读取用户登录信息
在解决了asp.net core中访问memcached缓存的问题后,我们开始大踏步地向.net core进军——将更多站点向asp.net core迁移,在迁移涉及获取用户登录信息的站点时,我们遇到 ...
- ASP.NET MVC: Razor中的@:和语法
本文将讨论新版Razor里视图引擎中支持的两个有用的语法功能:@:和<text>语法. 用Razor实现流畅编程 ASP.NET MVC 3配有一个新的名为“Razor”的视图引擎选项(除 ...
- Spring 发送 Email
本文转自:http://zl198751.iteye.com/blog/757617 看到了本文,收获颇丰,感谢之至! 首先介绍下Email的发送流程: 需要选中smtp邮件服务器,Yahoo不提供免 ...
- 使用PHP发送email进行账号激活或者密码修改操作
使用PHPMailer编写发送邮件 PHPMailer需PHP的socket扩展支持,而PHPMailer链接qq域名邮箱时需要ssl加密方式(qq邮箱最近做了限制,新开域名邮箱不再允许通过smtp协 ...
- 【ASP.NET Web API教程】6.2 ASP.NET Web API中的JSON和XML序列化
谨以此文感谢关注此系列文章的园友!前段时间本以为此系列文章已没多少人关注,而不打算继续下去了.因为文章贴出来之后,看的人似乎不多,也很少有人对这些文章发表评论,而且几乎无人给予“推荐”.但前几天有人询 ...
随机推荐
- Js验证userAgent是否来自手机端
function GetQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&] ...
- Unity3D ShaderLab 使用贴图对模型的高光进行遮罩
Unity3D ShaderLab 使用贴图对模型的高光进行遮罩 前面研究了高光效果的实现,再说说现很多游戏用到的高光贴图技术,因为它可以让3D美工更容易控制最终的视觉效果. 这也就为我们提供了另外的 ...
- You must install 'hg' on your build machine
/***************************************************************************************** * You mus ...
- LeetCode Spiral Matrix II (技巧)
题意: 从1开始产生连续的n2个数字,以螺旋的方式填满一个n*n的数组. 思路: 由于是填满一个矩阵,那么只需要每次都填一圈即可.应该注意特殊情况. 迭代: class Solution { publ ...
- Think Python - Chapter 8 - Strings
8.1 A string is a sequenceA string is a sequence of characters. You can access the characters one at ...
- What are the 10 algorithms one must know in order to solve most algorithm challenges/puzzles?
QUESTION : What are the 10 algorithms one must know in order to solve most algorithm challenges/puzz ...
- java CAS
在Doug Lea提供的cucurenct包 (J.U.C)中,CAS理论是实现整个java包的基石. Compare and Swap 在这里,CAS 指的是现代 CPU 广泛支持的一种对内存中 ...
- 解决SimpleCursorAdapter不能自动更新的问题
假设场景是这样的:你使用SimpleCursorAdapter显示数据,并监听数据的变化:在数据发生变化的时候,调用cursor的requery,期待UI显示也跟着变化. 但是,你可能会发现,UI并没 ...
- SqlServer 杂记 不断补充中
1.OPTION (MAXRECURSION 25) :最大允许递归的次数.默认最大CTE递归只有100次,而你要求插入10年的数据,需要递归3000多次,所以要使用option (MAXRECURS ...
- Java BTrace实战(1)--BTrace的入门和使用
前言: 对线上的java服务, 往往采用日志进行问题处理和分析. 倘若日志缺乏相关的信息时, 那又该如何处理? 远程调试会影响服务的正常工作, 修改代码重新部署的方案其实时性和灵活性难以保证(线上服务 ...