ASP和ASP.NET发送邮件笔记

这两天因公司网站邮件发不出去,然后研究了在asp网站发送邮件和在asp.net网站发送邮件的代码,把碰到的问题这里记录一下。

1、先说在asp.net中发送邮件吧,

刚开始只有126邮箱可以发出邮件,然后其他163、新浪等发不出去,后来郁闷了很久才知道邮箱的smtp和pop3服务默认是不开通的,需要去手动开通才可以发送邮件。比如说新浪邮箱开通smtp服务截图如下:

其他邮箱也类似,然后才能实现发送邮件的功能,发送邮件代码如下:

 /// <summary>
    /// C#发送邮件
    /// </summary>
    public void ShowSendEmail()
    {
        string fromEmail = "[email protected]";     //发件人邮箱地址
        string emailSMTPHost = "smtp.126.com";  //邮箱SMTP服务器,用来发送邮件
        string emailSubject = "Email Subject";  //邮件主题
        string emailBody = "<h1>Email Content</h1><h3>哈哈哈,发送邮件OK了!!!^_^</h3>"; //邮件内容
        string toEmail = "[email protected]";   //要发送对象的邮箱地址

        string emailName = fromEmail;  //登陆邮箱的用户名,可以和发件人邮箱地址一样
        string emailPwd = "********";  //登陆邮箱的密码

        try
        {
            using (MailMessage msg = new MailMessage(fromEmail, toEmail, emailSubject, emailBody))
            {
                msg.IsBodyHtml = true;  //设置邮件内容是否支持html格式
                msg.To.Add("[email protected]");    //追加多个收件人邮箱,实现群发
                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") =2
    objCDO.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver")= "smtp.126.com"  ‘邮件服务器
    objCDO.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25        ‘ 邮件服务器默认端口
    objCDO.Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 10  ‘超时设置
    objCDO.Fields("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
    objCDO.Fields("http://schemas.microsoft.com/cdo/configuration/sendusername") = "[email protected]"‘ 发送邮件的邮箱地址
    objCDO.Fields("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "*****" ‘邮箱密码
    objCDO.Fields.Update
    Set objMail.Configuration = objCDO
    objMail.From = "[email protected]"      ‘发件人,这里和上面的发送邮件地址保持一致
    objMail.Subject = "Email Subject"   ‘邮件标题
    objMail.To = "[email protected]"    ‘收件人
    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 = "[email protected]"  ‘邮箱登陆用户名
    JMail.MailServerPassword = "*************"  ‘邮箱密码
    JMail.ContentType = "text/html"
    JMail.Priority = 1
    JMail.From = "[email protected]"  ‘发件人邮件地址
    JMail.FromName = "xmTan"      ‘发件人姓名,可以和发件人邮件地址一样
    JMail.AddRecipient "[email protected]"  ‘收件人邮件地址
    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  ‘调用方法,发送邮件

%>

  

时间: 2024-11-07 17:15:24

ASP和ASP.NET发送邮件笔记的相关文章

学习ASP.NET MVC框架揭秘笔记目录

学习ASP.NET MVC框架揭秘笔记目录 第一章     ASP.NET+MVC 1.1传统的MVC模式 持续更新中,,,,

ASP.Net WebForm温故知新学习笔记:一、aspx与服务器控件探秘

开篇:毫无疑问,ASP.Net WebForm是微软推出的一个跨时代的Web开发模式,它将WinForm开发模式的快捷便利的优点移植到了Web开发上,我们只要学会三步:拖控件→设属性→绑事件,便可以行走于天下.但这样真的就可以走一辈子吗?实际上,ASP.Net经常被喷的诟病就在于WebForm以及只会拖控件的ASP.Net程序员,往往大型互联网系统也没有采用WebForm的模式进行开发.但是,WebForm并不是一无是处,而是我们没有用好,还有很多东西我们知其然不知其所以然,现在我们就来对这些平

ASP.NET Web Pages ----学习笔记(二)

C#主要Razor语法规则: Razor代码块由@{...}包围 行内表达式以@开始 代码语句以分号结束 变量通过var关键词进行声明 字符串用引用来包围 C#代码对大小写敏感 C#文件的扩展名是.cshtml 内容块 @RenderPage()从不同的文件导入内容 使用布局页面 @RenderBody()内容页必须以Layout指令开头 防止代码泄露 在ASP.NET中,名称以下划线开头的文件无法通过Web来浏览 隐藏敏感信息 在ASP.NET中,隐藏敏感信息常用方法是把这些信息保存在名为"_

Asp.Net Core WebApi学习笔记(四)-- Middleware

Asp.Net Core WebApi学习笔记(四)-- Middleware 本文记录了Asp.Net管道模型和Asp.Net Core的Middleware模型的对比,并在上一篇的基础上增加Middleware功能支持. 在演示Middleware功能之前,先要了解一下Asp.Net管道模型发生了什么样的变化. 第一部分:管道模型 1. Asp.Net管道 在之前的Asp.Net里,主要的管道模型流程如下图所示: 请求进入Asp.Net工作进程后,由进程创建HttpWorkRequest对象

ASP.Net WebForm温故知新学习笔记:二、ViewState与UpdatePanel探秘

原文地址:http://www.cnblogs.com/edisonchou/p/3901559.html 开篇:经历了上一篇<aspx与服务器控件探秘>后,我们了解了aspx和服务器控件背后的故事.这篇我们开始走进WebForm状态保持的一大法宝-ViewState,对其刨根究底一下.然后,再对曾经很流行的ASP.Net AJAX方案中的利器-UpdatePanel这个神奇的区域一探究竟. 一.隐藏的状态-ViewState探秘 1.1 从Http的无状态说起 Http是一个无状态协议,同一

学习ASP.NET MVC5框架揭秘笔记-ASP.NET路由(二)

实例演示:通过路由实现请求地址与.aspx页面的映射 我们创建一个简单的ASP.NET Web Forms应用,并采用一套独立于.aspx文件路径的URL来访问对应的Web页面,两者之间的映射通过路由来实现,我们依然沿用员工管理的场景. 首先我们将员工的所有信息(ID.姓名.性别.出生日期和所在部门)定义在如下所示的Employee类型中,然后定义一个EmployeeRepository类型来维护员工列表的数据.简单起见,员工列表通过静态字段employees表示.EmployeeReposit

asp、asp.net、.aspx、.ascx、.ashx的简单说明

ASP是动态服务器页面(Active Server Page)的英文缩写.[1]是微软公司开发的代替CGI脚本程序的一种应用,它可以与数据库和其它程序进行交互,是一种简单.方便的编程工具.ASP的网页文件的格式是.asp.现在常用于各种动态网站中. ASP.NET是由微软在·NETFramework框架中所提供,开发Web应用程序的类库,封装在System.Web.dll文件中,显露出System.Web命名空间,并提供ASP.NET网页处理.扩充以及HTTP通道的应用程序与通信处理等工作,以及

Barcode Professional for ASP.NET ASP.NET条码生成和打印功控件介绍

Barcode Professional for ASP.NET是最灵活和强大的.NET组件(.NET DLL 类库),它让您轻松地添加先进的条码生成和打印功能到您的ASP.NET Web解决方案(包括ASP.NET Mobile Web站点). 具体功能: Neodynamic Barcode Professional for ASP.NET是最灵活和强大的.NET组件(.NET DLL 类库),它让您轻松地添加先进的条码生成和打印功能到您的ASP.NET Web解决方案(包括ASP.NET

Asp与Asp.Net

1.Asp是什么? ASP是动态服务器页面(Active Server Page)的英文缩写.是微软公司开发的代替CGI脚本程序的一种应用,它可以与数据库和其它程序进行交互,是一种简单.方便的编程工具.ASP不仅简单易用,而且可以通过ADO轻松地存取各种数据库.另外还有非常好的扩充性.ASP的网页文件的格式是 .asp.现在常用于各种动态网站中. 1.1:ASP就是用来制作网页的编程工具. 1.2:类似HTML.SCRIPT与CGI的结合体,但是他的运行效率却比CGI更高,程序编制也比HTML更

ASP和ASP.NET的区别

看到这组词让我想到了VB和VB.NET.VB.NET是VB的下一个版本.微软不是简单的在VB6的基础上增加了一些新特性,而是重新更换定制了这个产品.开发者可以使用网页窗体和ADO.NET快速开发可扩展的网站:使用继承,支持面向对象编程:可以充分利用.NET框架提供的一切. 回想VB6和VB.NET 简单的说,一个基于对象,一个面向对象.虽然VB.NET与VB6相比具有明显的差异,但它们还是具有很多的共同点.VB.NET是对VB实质性的进一步发展,它沿着.NET发展的方向,是COM向前实质性的发展