.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();
    }

  

原文地址:https://www.cnblogs.com/tomtang/p/4453437.html