系列文章请查看《企业邮箱那点事儿》
由于免费版企业邮箱的限制,能用的付费版对于我们这种小团队来说,也觉得有点儿不值。
随着Windows Server 2003系统中内置了POP3(邮局协议)服务组件,用户无需借助第三方工具软件也能够搭建邮件服务器。
综合着用吧:免费企业邮箱收用户邮件,自建服务器发邮件。
邮件机制
自建邮件发送服务器
需要考虑几个问题:
1. 您的服务器支持相关的邮件协议不,是否让你安Smtp,Pop3协议?
2. 如何部署?
3. 新浪,腾讯怎么认发的邮件,不当垃圾邮件?
这个几问题,如果能解决的话,我觉得自建邮件发送器,还是值得做的。
1.是否支持相关协议
这儿不细说,直接看第2点就可以了。若能进行,当然就可以。
2. 如何架设邮件服务器?
在网上找了一个例子:《Windows 2003邮件服务器配置指南》,照着做就可以了。
加一段.net版的发件程序吧:
/// <summary>
/// send single email
/// </summary>
/// <param name="userFrom">fromemial</param>
/// <param name="Smtp">smtp</param>
/// <param name="subject">suject</param>
/// <param name="toEmail">toemail</param>
/// <param name="body">body</param>
public bool SendEmail(string userFrom, string Smtp, string toEmail,string subject, string body)
{
try
{
//设置内容
MailMessage message = new System.Net.Mail.MailMessage("test@yipaitx.com", "*******", subject, body);
message.BodyEncoding = System.Text.Encoding.UTF8; //设置邮件编码
message.IsBodyHtml = true;
Smtp = "smtp2.yipaitx.com";
SmtpClient client = new SmtpClient(Smtp, 25);
client.Credentials = new NetworkCredential("test@yipaitx.com", "*******");
client.Send(message);
}
catch (Exception ex)
{
logService.Error(ex + ":邮件");
}
return true;
}
您可能有用:在POP3邮件服务器中创建用户邮箱
3. 新浪,腾讯怎么认发的邮件,不当垃圾邮件
首先得了解几个概念:MX记录,A记录,TXT记录,CNAME记录。一个个简单说一下吧:
3.1 几个基本概念
MX: 电子邮件系统发邮件时,根据受信人的地址后缀来定位邮件服务器。(参:http://baike.baidu.com/view/65595.htm)
A记录:A (Address) 记录是用来指定主机名(或域名)对应的IP地址记录。(参:http://baike.baidu.com/view/65575.htm)
TXT记录: TXT记录一般指为某个主机名或域名设置的说明,一般用它TXT记录确保企业邮局通信安全。
CNAME记录: 别名记录(CNAME),这种记录允许您将多个名字映射到同一台计算机。(参:http://baike.baidu.com/view/65604.htm)
3.2 告诉其他企业邮局,我是可信的邮件服务器。
a. 设置解析邮箱服务器,确保外面能访问到你的服务器。(不是必要,如果你不是太熟悉域名相关的东西,建议您设置好)
b. 设置MX记录,邮箱交换协议,以指定与域名相对应的邮件服务器所在的地址。
c. 设置TXT记录,确保企业邮局通信安全。
完成后:
为了意思明确些(就是用提供smtp服务的),我设置了smtp访问路径:smtp2@yipaitx.com,如此代码才可以这样直接访问:
Smtp = "smtp2.yipaitx.com";
SmtpClient client = new SmtpClient(Smtp, 25);
遇见了问题
1. 给QQ发信出现“此地址未验证,请注意识别”怎办?
还真有兄弟遇到,并解决了:http://edm.marketing100.com/service/news_detail.php?ID=126
总的说来,是之前用户了腾讯的免费企业邮件,取消它!(腾讯哥的霸王限制)
2. 550 Connection frequency limited
给腾讯用户发信时,发现发了一会儿就没有消息了,网站的用户收不到邮件。急死人了,查日志才现这个问题。腾讯也给说明了:
http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=20022&&no=1000722
"
出错原因:该服务器IP的发信频率超过QQ邮箱限制。QQ邮箱对来自相同IP的外部发信服务器有一定的频率限制:1、超过每分钟发信量限制,此IP地址被禁止发信若干分钟。2、超过每小时发信量限制,此IP地址被禁止发信若干小时。3、超过每日发信量限制,此IP地址本日内禁止再发信。4、以上频率限制数值属于QQ邮箱保密数据,恕不公开。改善建议:如果您是该服务器IP的管理员,请暂停该服务器IP的发信,稍后降低频率重新尝试发信。如果您是个人邮箱用户,请向您的电子邮件提供商报告此情况。"
我们的程序是2秒钟发一个邮件,也有如此限制,兄弟我什么也不说了,大伙想想吧,为什么?反正用腾讯的免费企业邮箱(多个账号轮发),限制大概在0.25秒。
解决的方法:想一套机制,把腾讯的账号错开,在它的限制之内;或者,跟腾讯交钱,用它的或与它有合作关系的收费版企业邮箱!
具体,让大伙去想吧,欢迎留言!