C/S项目中为了尽快的捕获终端上产生的错误报告,我曾经采用公司邮箱接收错误报告。C端用.net 2.0随便写了一段发送代码,一直跑的很健康,效果也非常好,大大减少了产品bug修复周期,提升了产品质量和用户体验。
可是最近公司将mail系统升级到Microsoft Exchange Server,这个东东我以前没有听过,用smtp貌似走不通。最近bug修复周期明显变长,可通过公司统一提供的错误报告平台手续又比较麻烦,寻求Microsoft Exchange Server上的解决方案也不难,framework 3.0以上就已经提供了,但很遗憾,我用的是2005的系统。
我手头上有几个163的邮箱账号,于是就有了兴趣研究下怎样给163的邮箱灌水。但我声明以下例程仅仅是供试验使用,我不会采用163邮箱作为错误报告收集地址以免安全纠纷,并且也强烈鄙视将以下代码用于恶意攻击。
using System;
using System.Collections.Generic;
using System.Text;
using System.Net.Mail;
using System.Diagnostics;
namespace MailTest
{
class Program
{
static void Main(string[] args)
{
Encoding encoding = Encoding.GetEncoding("GB2312");
MailAddress from = new MailAddress("我古老的163邮箱@163.com", "test", encoding);
MailAddress to = new MailAddress("我古老的163邮箱@163.com");//就发给自己吧
MailMessage mail = new MailMessage(from, to);
mail.Subject = "test";
mail.Body = "hello world";
mail.SubjectEncoding = encoding;
mail.BodyEncoding = encoding;
SmtpClient smtp = new SmtpClient("smtp.163.com");
smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
smtp.UseDefaultCredentials = true;
smtp.Credentials = new System.Net.NetworkCredential("我古老的163邮箱", "这里是我的密码");
smtp.Send(mail);
}
}
}
说明:黑体部分代码需要特别注意;必须采用古老的163邮件地址,新注册的163地址没有办法不适用,对此网易的解释为:“从2006年11月16日新注册用户,亦无法使用POP客户端功能。购买随身邮或邮箱伴侣的用户自动开启。”
评论