jmail发送邮件的心得

     最近,一直在做一个关于化妆品招商的B2B类网站的后期维护工作。其中,有一项业务要求就是要定期、定量的发送电子邮件。因为我之前一直是在做OA管理系统,对于发送邮件这块,向来都不陌生。还是说重点吧。这个项目是用asp.net做的,发邮件,很自然想起了jmail组件。于是,就在项目开发过程中,注册并添加的对jmail.dll的引用。

  说说使用的步骤吧。

     首先,你需要下载一个jmail.dll组件,或者直接下载安装版的。我是直接用jmail.dll,通过regsvr32 路径/jmail.dll,然后提示注册成功,这样就成功完成了第一步。可能有些对jmail比较陌生的朋友,上去直接在项目中添加引用,这是你会发现,出错了!!!这都是因为,你缺少这个重要的步骤,COM注册。注册后,你会发现,在添加引用的,COM选项卡中,就有jmail.dll这样的组件了,然后添加引用即可。

    需要说明的是,我本地用的windows XP 32位系统,这样就可以成功在本地实现发送邮件的功能了。但不要高兴太早。我知道,很多问题,往往是发布上线之后,产生的。接下来的事,就是在发布到服务器上后,发生的事。

   我们的服务器是server2008 64位的操作系统IIS7.0,配置还可以。我在项目中,单独放了一个demo.aspx这样的文件,来测试发送邮件的功能。成功发布后,我手动输入http://www.***.com/dem.aspx,看看效果,结果,就出现应用程序错误。检索 COM 类工厂中 CLSID 为 {E5FF9F62-0E7C-4372-8AD5-DA7D2418070C} 的组件时失败。于是,我突然想的,服务器是64位的操作系统,和本地环境不同。按照网上的说法,我首先把相关的程序编译成x86(32位),再更新上去,可结果依然。我又重新注册->卸载 jmal.dll,都无济于事。这到底是怎么了。后来,我知道,64位系统上有C:\windows\system32\regsvr32.exe和C:\windows\sysWOW64\regsvr32.exe,这样相同的两个可执行文件,后来我又了解到,jmail.dll是32位的,32位的组件也可以通过C:\windows\sysWOW64\regsvr32.exe来注册。我原本,用指令,regsvr32 jmail.dll,提示模块不存在,这是因为,在当前目录下,不存在jmail.dll这样的文件,于是我想,regsvr32指的是64位还是32位下的,答案是64位的,因为当前就在64模式下,直接运行自然是64位的了。好了,64位也可以注册32位的jmail.dl。

于是我输入:regsvr32 C:\windows\system32\jmail.dll(我把jmail.dll放在system32目录下了),好了,注册成功。我再次打开demo.aspx画面时,邮件发送成功!

   最后想说的是,对待这样的问题,要沉着冷静的去思考。总结每次的失败,最后的问题,自然会迎刃而解的。

    到此结束!l

转载于:https://my.oschina.net/lichaoqiang/blog/125690

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值