zoukankan      html  css  js  c++  java
  • 使用C#代码发送邮件,不完整的demo

    作为一只入行不久的小菜鸟,最近接触到利用C#代码发送邮件,做了一点小的demo练习。首先,需要配置,这边我做的是QQ邮箱的相关的练习,练习之前,首先应该解决的问题肯定是关于服务器的配置,这边偷一个懒,不做一一的步骤截图,此外文字表述能力也不及于很好的阐述清楚这个东西,附上百度经验的链接吧 https://jingyan.baidu.com/article/6079ad0eb14aaa28fe86db5a.html。 配置好了之后就开始代码了
    第一种方式:

     点击发送按钮执行代码:
       /// <summary>
        /// 发送
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button1_Click(object sender, EventArgs e)  
        {
            SendM send = new SendM();
            string sendto = SendTo.Text;  //目标邮箱
            string zt = txtZt.Text;   //邮箱主题
            string nr = Nr.Text;    //邮箱内容
            bool a = CheckEmail.CheckTxtEmail(sendto);  //检查邮箱地址是否规范
            if (a == true)
            {
               if( send.SendMessage(sendto, zt, nr))  //调用发送
                {
                    MessageBox.Show("发送成功");
                    RefreshAll();
                }
            }
            else
            {
                MessageBox.Show("邮箱地址错误");
                RefreshAll();
            }
        }
    
    上面代码的SendMessage函数:
    /// <summary>
    /// 发送邮件
    /// </summary>
    /// <param name="mailto"></param>
    /// <param name="mailSubject"></param>
    /// <param name="mailContent"></param>
    /// <returns></returns>
    public bool SendMessage(string mailto,string mailSubject,string mailContent)
    {
        string stmpSever = "smtp.qq.com"; //服务器
        string mailfrom = "**********@qq.com";  //进行QQ邮箱相关配置 用于发送邮件的地址
        string mailfromPwd = "**************";  //QQ邮箱开启服务 获取的对应授权码
    
        MailMessage message = new MailMessage();
        message.Subject = mailSubject;  //邮件的主题
        message.Body = mailContent;//邮件的内容
        message.BodyEncoding = Encoding.UTF8;
        message.From =new MailAddress(mailfrom); //邮箱的地址
        message.To.Add(mailto);   //目标邮箱
        message.Priority = MailPriority.Normal;
        message.IsBodyHtml = true;
    
        SmtpClient client = new SmtpClient();
        client.Host = stmpSever;
        client.UseDefaultCredentials = false;
        client.Credentials= new NetworkCredential(mailfrom, mailfromPwd);
        client.DeliveryMethod = SmtpDeliveryMethod.Network;
       
        try
        {
            client.Send(message);
            return true;
        }
        catch
        {
            return false;
        }
    

    以此实现第一种方式的发送邮件方式,
    第二种:利用 System.Web.Helpers 下面的WebMail 类实现发送邮件的方式。
    附上代码:

           WebMail.SmtpServer = "smtp.qq.com";
            WebMail.SmtpPort = 25;
            WebMail.EnableSsl = false;
            WebMail.UserName = "*************@qq.com"; //进行QQ邮箱相关配置 用于发送邮件的地址
            WebMail.Password = "**************";
            WebMail.From = "********@qq.com"; // 用于发送邮件的地址 一般情况下与 username 相同
            WebMail.Send(目标邮箱, 邮件主题, 邮件内容);
    

    即可发送,附上微软的官方文档 https://docs.microsoft.com/en-us/previous-versions/aspnet/gg547987(v%3Dvs.111) 以及w3c参考手册 http://home.ustc.edu.cn/~xie1993/aspnet/webpages-ref-webmail.html
    以上为自己的demo,作为刚入行的菜鸟,以此记录一下自己的小收获,不足之处敬请各位谅解和指正,感谢

  • 相关阅读:
    Centos 6.5 Install Mysql 8.0.0
    Django根据现有数据库建立/更新model
    Python之路【第十七篇】:Django【进阶篇 】
    Django之Model操作
    Django之Form组件
    Appium+python自动化获取toast消息(windows版)的方法
    'sudo'不是内部或外部命令,,,,的解决办法
    LookupError: unknown encoding: cp65001解决方案
    进程和线程(5)-分布式进程
    进程和线程(4)-进程 vs. 线程
  • 原文地址:https://www.cnblogs.com/zhh-blogs/p/10231717.html
Copyright © 2011-2022 走看看