VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > Python基础教程 >
  • C#教程之使用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,作为刚入行的菜鸟,以此记录一下自己的小收获,不足之处敬请各位谅解和指正,感谢



相关教程