ASP和ASP.NET发送邮件笔记
这两天因公司网站邮件发不出去,然后研究了在asp网站发送邮件和在asp.net网站发送邮件的代码,把碰到的问题这里记录一下。
1、先说在asp.net中发送邮件吧,
刚开始只有126邮箱可以发出邮件,然后其他163、新浪等发不出去,后来郁闷了很久才知道邮箱的smtp和pop3服务默认是不开通的,需要去手动开通才可以发送邮件。比如说新浪邮箱开通smtp服务截图如下:
其他邮箱也类似,然后才能实现发送邮件的功能,发送邮件代码如下:
/// <summary>
/// C#发送邮件
/// </summary>
public void ShowSendEmail()
{
string fromEmail = "xmTan@126.com"; //发件人邮箱地址
string emailSMTPHost = "smtp.126.com"; //邮箱SMTP服务器,用来发送邮件
string emailSubject = "Email Subject"; //邮件主题
string emailBody = "<h1>Email Content</h1><h3>哈哈哈,发送邮件OK了!!!^_^</h3>"; //邮件内容
string toEmail = "5185185185@qq.com"; //要发送对象的邮箱地址 string emailName = fromEmail; //登陆邮箱的用户名,可以和发件人邮箱地址一样
string emailPwd = "********"; //登陆邮箱的密码 try
{
using (MailMessage msg = new MailMessage(fromEmail, toEmail, emailSubject, emailBody))
{
msg.IsBodyHtml = true; //设置邮件内容是否支持html格式
msg.To.Add("zhangMao@sina.com"); //追加多个收件人邮箱,实现群发
msg.Priority = MailPriority.High; //发送邮件的优先等级 SmtpClient mailClient = new SmtpClient(emailSMTPHost);
mailClient.UseDefaultCredentials = false; //设置是否随请求一起发送
mailClient.Credentials = new System.Net.NetworkCredential(emailName, emailPwd); //是否使用安全套接字层 (SSL) 加密连接. SmtpClient 使用 SSL,则为 true;否则为 false。默认值为 false。
mailClient.EnableSsl = true; mailClient.Send(msg); //调用发送邮件方法
}
}
catch (Exception ex)
{
//发送失败:ex.Message;
return;
} //发送成功
}
2、然后使用asp来发送邮件,现经测试有两种方式可以发送邮件成功
第一种方式代码如下:
<%
'定义发送邮件方法
function showSendEmail
Set objMail = Server.CreateObject("CDO.Message")
Set objCDO = Server.CreateObject("CDO.Configuration")
objCDO.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") =
objCDO.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver")= "smtp.126.com" '邮件服务器
objCDO.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = ' 邮件服务器默认端口
objCDO.Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = '超时设置
objCDO.Fields("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") =
objCDO.Fields("http://schemas.microsoft.com/cdo/configuration/sendusername") = "xmTan@126.com"' 发送邮件的邮箱地址
objCDO.Fields("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "*****" '邮箱密码
objCDO.Fields.Update
Set objMail.Configuration = objCDO
objMail.From = "xmTan@126.com" '发件人,这里和上面的发送邮件地址保持一致
objMail.Subject = "Email Subject" '邮件标题
objMail.To = "51851851851@qq.com" '收件人
objMail.HtmlBody = "哈喽,测试邮件,最近可好?" '发送内容。
objMail.Send
Set objMail = Nothing
Set objCDOSYSCon = Nothing
end function showSendEmail '调用方法,发送邮件 %>
第二种调用JMail组件来发送邮件,调用这个组件来发送邮件时,
要注意一点,必须安装JMail组件后,才能发送邮件成功(之前一直没安装,发送总是报缺少对象错误)
JMail组件下载路径有:http://download.csdn.net/detail/tandaxia/8598007
<% '定义发送邮件方法
Sub showJmail
On Error Resume Next
Dim JMail
Set JMail = Server.CreateObject("JMail.Message")
JMail.silent=true
JMail.Logging = True
JMail.Charset = "gb2312"
JMail.MailServerUserName = "xmTan@126.com" '邮箱登陆用户名
JMail.MailServerPassword = "*************" '邮箱密码
JMail.ContentType = "text/html"
JMail.Priority = 1
JMail.From = "xmTan@126.com" '发件人邮件地址
JMail.FromName = "xmTan" '发件人姓名,可以和发件人邮件地址一样
JMail.AddRecipient "51851851851@qq.com" '收件人邮件地址
JMail.Subject = "Email Subject" '邮件主题
JMail.Body = "<h1>Email Content </h1>哈喽,发送成功了 ^_^" '邮件内容
JMail.Send ("smtp.126.com") '邮箱SMTP服务器
Set JMail = Nothing
SendMail = "OK"
If Err Then SendMail = Err.Description Response.Write("<h1>发送结果:"&SendMail&"</h1>")
End Sub showJmail '调用方法,发送邮件 %>
ASP和ASP.NET发送邮件笔记的更多相关文章
- Asp.Net Core WebApi学习笔记(四)-- Middleware
Asp.Net Core WebApi学习笔记(四)-- Middleware 本文记录了Asp.Net管道模型和Asp.Net Core的Middleware模型的对比,并在上一篇的基础上增加Mid ...
- ASP.NET Core 2 学习笔记(七)路由
ASP.NET Core通过路由(Routing)设定,将定义的URL规则找到相对应行为:当使用者Request的URL满足特定规则条件时,则自动对应到相符合的行为处理.从ASP.NET就已经存在的架 ...
- ASP.NET Core 2 学习笔记(十三)Swagger
Swagger也算是行之有年的API文件生成器,只要在API上使用C#的<summary />文件注解标签,就可以产生精美的线上文件,并且对RESTful API有良好的支持.不仅支持生成 ...
- ASP.NET Core 2 学习笔记(十二)REST-Like API
Restful几乎已算是API设计的标准,通过HTTP Method区分新增(Create).查询(Read).修改(Update)和删除(Delete),简称CRUD四种数据存取方式,简约又直接的风 ...
- ASP.NET Core 2 学习笔记(十)视图
ASP.NET Core MVC中的Views是负责网页显示,将数据一并渲染至UI包含HTML.CSS等.并能痛过Razor语法在*.cshtml中写渲染画面的程序逻辑.本篇将介绍ASP.NET Co ...
- sql server 关于表中只增标识问题 C# 实现自动化打开和关闭可执行文件(或 关闭停止与系统交互的可执行文件) ajaxfileupload插件上传图片功能,用MVC和aspx做后台各写了一个案例 将小写阿拉伯数字转换成大写的汉字, C# WinForm 中英文实现, 国际化实现的简单方法 ASP.NET Core 2 学习笔记(六)ASP.NET Core 2 学习笔记(三)
sql server 关于表中只增标识问题 由于我们系统时间用的过长,数据量大,设计是采用自增ID 我们插入数据的时候把ID也写进去,我们可以采用 关闭和开启自增标识 没有关闭的时候 ,提示一下错 ...
- ASP.NET Core 2 学习笔记(一)开始
原文:ASP.NET Core 2 学习笔记(一)开始 来势汹汹的.NET Core似乎要取代.NET Framework,ASP.NET也随之发布.NET Core版本.虽然名称沿用ASP.NET, ...
- ASP.Net WebForm温故知新学习笔记:二、ViewState与UpdatePanel探秘
开篇:经历了上一篇<aspx与服务器控件探秘>后,我们了解了aspx和服务器控件背后的故事.这篇我们开始走进WebForm状态保持的一大法宝—ViewState,对其刨根究底一下.然后,再 ...
- ASP.Net WebForm温故知新学习笔记:一、aspx与服务器控件探秘
开篇:毫无疑问,ASP.Net WebForm是微软推出的一个跨时代的Web开发模式,它将WinForm开发模式的快捷便利的优点移植到了Web开发上,我们只要学会三步:拖控件→设属性→绑事件,便可以行 ...
- 【转载】ASP.Net WebForm温故知新学习笔记:一、aspx与服务器控件探秘
开篇:毫无疑问,ASP.Net WebForm是微软推出的一个跨时代的Web开发模式,它将WinForm开发模式的快捷便利的优点移植到了Web开发上,我们只要学会三步:拖控件→设属性→绑事件,便可以行 ...
随机推荐
- 利用开源软件strongSwan实现支持IKEv2的企业级IPsec VPN,并结合FreeRadius实现AAA协议(下篇)
续篇—— 利用开源软件strongSwan实现支持IKEv2的企业级IPsec VPN,并结合FreeRadius实现AAA协议(上篇) 上篇文章写了如何构建一个支持IKEv2的VPN,本篇记录的是如 ...
- HTML5矢量实现文件上传进度条
在HTML中,在文件上传的过程中,很多情况都是没有任何的提示,这在体验上很不好,用户都不知道到时有没有在上传.上传成功了没有,所以今天给大家介绍的内容是通过HT for Web矢量来实现HTML5文件 ...
- 【Swift学习】Swift编程之旅(三)
元组(tuples) tuples是将多个单一的值组合为一个复合的值.它可以包含任何类型的值,而不需要都是相同类型. 一.元组的创建 1. let http404error = (,"NOT ...
- SQL--使用NewID函数,创建GUID列
USE master GO IF EXISTS (SELECT * FROM sysdatabases WHERE name='DB_Temp') DROP DATABASE DB_Temp GO C ...
- linq 实现查询字符串拼接 : And 和 OR 两种方式
N年前我们是这样来 拼接查询字符串的: // 何问起 hovertree.com public string Test(string a, string b, string c,string d) { ...
- 15天玩转redis —— 第六篇 有序集合类型
今天我们说一下Redis中最后一个数据类型 “有序集合类型”,回首之前学过的几个数据结构,不知道你会不会由衷感叹,开源的世界真好,写这 些代码的好心人真的要一生平安哈,不管我们想没想的到的东西,在这个 ...
- VS2010如何使用Visual Studio Online在线服务管理团队资源(在线TFS)
前言 Visual Studio Online,也就是以前的Team Foundation Service,从名字可以看出这是一个团队资源管理服务.在微软的云基础架构中运行,无需安装或配置任何服务器, ...
- 背水一战 Windows 10 (2) - UI: 概述, 启动屏幕, 屏幕方向
[源码下载] 背水一战 Windows 10 (2) - UI: 概述, 启动屏幕, 屏幕方向 作者:webabcd 介绍背水一战 Windows 10 之 UI UI 设计概述 启动屏幕(闪屏) 屏 ...
- Jquery验证插件 JqueryValidation 动态验证用户名等
可以参考:http://www.w3cschool.cc/jquery/jquery-plugin-validate.html //form1 验证用户名 $("#form1"). ...
- 孙鑫MFC学习笔记7:对话框编程(上)
1.DoModal创建模态对话框 2.Create创建非模态对话框(需要用ShowWindow显示出来) 模态:对话框显示,程序会暂停,直到对话框关闭 非模态:对话框显示,程序继续执行 3.对于模态对 ...