当前位置: 移动技术网 > IT编程>开发语言>.net > 使用C#代码发送邮件,不完整的demo

使用C#代码发送邮件,不完整的demo

2019年01月07日  | 移动技术网IT编程  | 我要评论

祁倩,王松华,homie

作为一只入行不久的小菜鸟,最近接触到利用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参考手册 
以上为自己的demo,作为刚入行的菜鸟,以此记录一下自己的小收获,不足之处敬请各位谅解和指正,感谢

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网