zoukankan      html  css  js  c++  java
  • .net实现邮件发送及解决遇到问题

    1、首先写一个Common类,将发送邮件的代码写到里面

            /// <summary>
            /// 发送邮件
            /// </summary>
            /// <param name="toEmail">要发送给哪个邮箱</param>
            /// <param name="subject">邮箱主题</param>
            /// <param name="body">邮箱内容</param>
            /// <returns>返回发送邮箱的结果</returns>             
            public static bool SendEmail(string toEmail, string subject, string body)
            {
                //配置文件中存储的发送人的服务器以及账号信息
                string smtpServer = ConfigurationManager.AppSettings["SmtpServer"];
                string smtpFrom = ConfigurationManager.AppSettings["SmtpFrom"];
                string smtpUserName = ConfigurationManager.AppSettings["SmtpUserName"];
                string smtpPassword = ConfigurationManager.AppSettings["SmtpPassword"];
    
                MailMessage mailObj = new MailMessage();
                mailObj.IsBodyHtml = true;
                mailObj.From = new MailAddress(smtpFrom); //发送人邮箱地址
                mailObj.SubjectEncoding= System.Text.Encoding.UTF8;
                mailObj.BodyEncoding = System.Text.Encoding.UTF8;
                mailObj.Priority = MailPriority.High;//邮件优先级 
                mailObj.To.Add(toEmail);   //收件人邮箱地址
                mailObj.Subject = subject;    //主题
                mailObj.Body = body;    //正文
                SmtpClient smtp = new SmtpClient();//通过.Net内置的SmtpClient类和邮件服务器进行通讯,发送邮件。           
                smtp.Host = smtpServer;         //smtp服务器名称
                smtp.UseDefaultCredentials = false;
                smtp.Credentials = new NetworkCredential(smtpUserName, smtpPassword);  //发送人的登录名和密码                       
                try
                {
                    smtp.Send(mailObj);
                    return true;
                }
                catch (Exception ex)
    
                {
                    return false;
                    throw ex;
                }
            }        

    *下面是配置文件中的发件人以及邮箱配置方式(放在配置文件方便修改,也可以直接在发送邮件类中写)



    2、在controller中调用即可。不过在163邮箱需要配置一下,开启smtp,并且需要将你发送邮件里面配置的smtp密码改为它要求的。

    下面测试调用即可。如果还有错误的话,就会是下面这个错误,同样这个错误也不一定是百分百出现的。但是还是写出来比较好。

    我在断点调试的时候发现的   

    {"事务失败。 服务器响应为:MI:SPB UserReject 0,smtp3,DdGowAA3378huFhYKwDsLg--.19311S2 1482209314,please feedback at http://feedback.mail.126.com/antispam/complain.php?user=lbj13796396303@163.com"}
    

    就需要你去这个地址填写以下163邮箱的协议就好了。

    http://feedback.mail.126.com/antispam/complain.php
  • 相关阅读:
    「程序员思维训练」1. 读前声明
    获取apk的MD5或SHA1签名信息
    随用随记:超图小tips(长期更新ing)
    ajax上传大附件报错:413 Request Entity Too Large
    利用input file 上传文件调用ajax保存到服务器(含后台代码)
    软工课程总结
    开发体验心得总结
    结对项目 稳定版四则运算系统
    Week3 关于“微软必应词典客户端”的案例分析
    Week2 代码复查
  • 原文地址:https://www.cnblogs.com/lbjcoder/p/6206704.html
Copyright © 2011-2022 走看看