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
  • 相关阅读:
    想要在控件里面使用触发器,只需要将下面代码填入控件中间即可
    WPF有关控件和模板样式设计的微软官方文档
    XDG0062 XAML 与XDG0008 XAML 错误的解决办法
    在WPF中一种较好的绑定Enums数据方法
    FrameworkElementFactory中的SetBinding与SetValue
    线性表结构:栈
    关于链表的一些问题
    使用Mybatis-Plus的一个坑
    双向链表和双向循环链表
    上下文切换的确切含义了解下
  • 原文地址:https://www.cnblogs.com/lbjcoder/p/6206704.html
Copyright © 2011-2022 走看看