zoukankan      html  css  js  c++  java
  • .net发送邮件

    首先在页面头部加入Async="true"


    后台代码中引入:

    using System.Net;
    using System.Net.Mail;
    using System.Text;
    
    public void SendMail(string addrto, string mailbody)
        {
            string addrfrom = "******@qq.com";//邮箱id
            string pwdfrom = "****";//邮箱密码
            //设置smtp服务器信息
            SmtpClient smtpClient = new SmtpClient();
            smtpClient.Host = "smtp.qq.com";//指定SMTP服务名  例如QQ邮箱为 smtp.qq.com 新浪cn邮箱为 smtp.sina.cn等
            smtpClient.Port = 25; //指定端口号
    
    
            //创建服务器认证
            NetworkCredential networkCredential_my = new NetworkCredential(addrfrom, pwdfrom);
            //实例化发件人地址
            MailAddress mailAddress_from = new MailAddress(addrfrom, "*******");
            //指定发件人信息  包括邮箱地址和邮箱密码
            smtpClient.Credentials = new NetworkCredential(mailAddress_from.Address, pwdfrom);
    
            MailAddress mailAddress_to = new MailAddress(addrto);
    
            MailMessage mailmsg = new MailMessage(mailAddress_from, mailAddress_to);
    
            mailmsg.To.Clear(); //清空历史发送信息 以防发送时收件人收到的错误信息(收件人列表会不断重复)
            mailmsg.From = mailAddress_from;//发件人邮箱
            mailmsg.To.Add(mailAddress_to);//添加收件人邮箱地址
            //邮件主题
            mailmsg.Subject = "密码";
            mailmsg.SubjectEncoding = Encoding.UTF8;
            //邮件正文
            mailmsg.Body = mailbody;
            mailmsg.BodyEncoding = Encoding.UTF8;
    
            smtpClient.SendCompleted += new SendCompletedEventHandler(smtpClient_SendCompleted);//注册邮件发送完毕后的处理事件
            object userState = mailmsg;
    
            smtpClient.SendAsync(mailmsg, userState);
        }
    
       public void smtpClient_SendCompleted(object sender, System.ComponentModel.AsyncCompletedEventArgs e)
        {
    
    
            ShowMessage("发送成功!");
            ConfirmBttn.Enabled = true;
            try
            {
                if (e.Cancelled)
                {
                    ShowMessage("发送取消");
                }
                if (e.Error == null)
                {
                    ShowMessage("密码已发送至您的注册邮箱");
                   
                }
                else
                {
                    ShowMessage("发送失败" + e.Error.Message);
                }
            }
            catch
            {
    
            }
            //throw new NotImplementedException();
        }
    

      

  • 相关阅读:
    WSL中使用npm install报错
    在npm install时node-gyp出现错误
    Chrome禁用隐藏www和m
    Git始终忽略特定文件的某一行内容
    macOS关闭修改扩展名的提示
    解决安装Anaconda后ZSH中使用的依然是系统自带的Python
    macOS上更顺手的终端
    自用的越狱插件
    Tomcat安装后修改路径方法
    TestStack.White安装详解
  • 原文地址:https://www.cnblogs.com/tomtang/p/4453437.html
Copyright © 2011-2022 走看看