• 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") =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") = "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  '调用方法,发送邮件
    
    %>
    

      

  • 相关阅读:
    python web 2
    python web1(解析url)
    webstrom 今天突然要激活
    数组排序 记录一下
    浏览器添加随机数去除缓存
    vue-cli 安装报错
    vue 初始化项目报错
    深拷贝和浅拷贝
    css3 属性 clip-path
    js数组去重
  • 原文地址:https://www.cnblogs.com/tandaxia/p/4430233.html
Copyright © 2020-2023  润新知