AS3发送邮件功能实现

最近做一个AIR客户端程序,需要用到发送邮件的功能,如果走服务器,客户要求是平常状态下离线应用,服务器可以不稳定。那就容易出问题。

于是找AS3直接发送邮件的功能,网罗了半天,只有一点小进展,但实现起来,还是有些麻烦。其实只是一个socket登录和发送的问题,如果现做的话可能要花点时间在稳定性和兼容性上,所以,还是找现成的类库方便些。但百度和谷哥找到的都是不完整的,只有一个几年前的一位大侠发的一个邮件收发库,但没有源码,也没有文档,找到了google code,上面已经是空的了,看来那位大侠是不想开源了。

于是想到github,去上面搜索as3 mail,居然有结果

后面两个看似正是我想要的。于是下载源码下来,两个都有用到as3Crypto库,里面只有编译好的swc文件,fd用这个文件就不方便了,必须添加到库才能用,只要添加到库,整个库就要全被编译进去了。而且,也不方便以后再用,于是根据那个包名com.hurlant搜索了下,找到了官网,而且也有提供源码,于是就下载了源码,放到公用库里,至此,准备已经做好。

下面写个简单的测试:

 

package com.txmdtea.TSDQSClient 
{
	import flash.display.Sprite;
	import org.bytearray.smtp.mailer.SMTPMailer;
	/**
	 * 邮件测试
	 * @author Shirne http://www.shirne.com/
	 */
	public class Test extends Sprite
	{
		
		public function Test() 
		{
			var mail:SMTPMailer = new SMTPMailer('smtp.exmail.qq.com', 25);
			mail.authenticate('service@shirne.com', '密码');
			mail.sendTestMail('service@shirne.com', 'shirne@126.com');
		}
		
	}

}

当然,我第一次没有写mail.authenticate来做登录动作,也没有报错,只是输出里有一些日志,于是看了源码,找到这个登录方法加了上来,直接就成功了。

通过这件事情,我想说的是,github上源码太多了,而且都是高质量的源码,百度,谷哥里就不一样了,很多时候还是找不到。而且最重要的,github上的源码多是开源的。开源万岁!