搜索 | 会员  
利用asp.net向邮箱发送注册码
来源: 收集   作者:网友  日期:2016/12/13  类别:编程语言  主题:.NET  编辑:志泽
首先引入命名空间:System.NET.Mail。可以写个方法然后调用,也可以直接写入事件中。

天刚刚实现发送注册码的功能,只要通过SmtpClient类里的方法和属性就可以实现。

 首先引入命名空间:System.NET.Mail。

 可以写个方法然后调用,也可以直接写入事件中。

 为了养成更好的编码习惯就写个方法好了,代码如下:

 private void SendEMail(string strServer, string strFrom, string strFromPass, string strto, string strSubject, string strBody)
    {

 //strServer是你要用到的网站,比如163邮箱就写smtp.163.com
        System
.Net.Mail.SmtpClient client = new SmtpClient(strServer);       

 //strFrom是用来发邮件的地址,strFromPass是该邮箱的密码。

 client.Credentials =
        new System.Net.NetworkCredential(strFrom, strFromPass);
        client.DeliveryMethod = SmtpDeliveryMethod.Network;

        //strto是目标邮箱,strSubject是邮件的主题,strBody是邮件的内容

 System.Net.Mail.MailMessage message =
        new MailMessage(strFrom, strto, strSubject, strBody);

 //设置邮件的编码方式
        message.BodyEncoding = System.Text.Encoding.UTF8;

 //是否将邮件内容显示为HTML格式,这个是很有用的,特别是传值的时候,有兴趣的可以研究。
        message.IsBodyHtml = true;

 //发送
        client.Send(message);
    }

然后在时间中调用就都会了。当然实际用过的都知道,如果想发送一个url连接的话,还是有问题的,因为接受到的其实是以文本显示的。所以在发内容的时候可以这样来写(今天下午刚弄出来,不知道还有没有更好的方法):

 string strBody = "<a href='http://www.baidu.com?code=" +a+ "'>www.baidu.com</a>";//a是变量。

所以在上面的方法中,一定要将message.IsBodyHtml的属性设置成true。

 注意:对于163邮箱,05年以后注册的不适用这种方法,因为不支持smtp。(我新注册邮箱尝试过。确实不好用)


德仔网尊重行业规范,每篇文章都注明有明确的作者和来源;德仔网的原创文章,请转载时务必注明文章作者和来源:德仔网;
头条那些事
大家在关注
广告那些事
我们的推荐
也许感兴趣的
干货