JMAIL安装配置全程

 jmail发送邮件的实例代码网上很多.但是有些细节如果不配置好,发送失败的可能性很大.

首先说明一下jmail安装配置步骤:

1. JMail 下载地址
http://hbdx3.skycn.com/down/w3JMail43Personal.exe

2.安装

本人在Windows 2003下面配置,其它系统还没有测试.

安装到目录比如: C:\Program Files\Dimac\w3JMail4\jmail.dll

然后还需要把jmail.dll复制到系统目录,比如C:\WINDOWS\system32

再运行:regsvr32 jmail.dll

这样才算把jmail安装好了.

3.如果出现标题显示的错误,检查下列内容.

(1)、用户名和密码
在代码里要写上
smtpUser =”用户名”
smtpPass=”密码”
或是
objMail.Send(“用户名:密码@server.net”)
要写发送端连接的邮件服务器和进入邮件服务器的用户名和密码。用户名和密码一定要存在于服务器上且正确。而且好象用户名和密码最好不要带下划线。

(2)、.防火墙阻止了网络通讯或网络故障
有可能防火墙会认为这是蠕虫导致的狂发邮件的情况,所以会禁止群发邮件。
所以检查防火墙的设置就可能会发现。

(3).jmail组件权限不够

(4).邮件服务器故障

(5)测试用的邮件服务器比如:smtp.163.com可能把你列入黑名单,换个邮件服务器发

.尽量不要不停发邮件.

.在 .NET 中使用 Jmail 需要如下设置:
1、安装jmail;
2、找到jmail.dll;
3、注册该组件Jmail.dll,作法是将jmail.dll文件拷贝到system32目录下,再运行命令“regsvr32 jmail.dll”(不包括引号),卸载可运行“regsvr32 /u jmail.dll”;
4、执行Program Files\Microsoft Visual Studio .NET\FrameworkSDK\Bin\ildasm.exe(可使用Visual Studio .Net 2003 命令提示),
格式如下:tlbimp c:\Program Files\Dimac\w3JMail4\jmail.dll /out:MyJmail.dll /namespace:MyJmail
生成MyJmail.dll后,将它引用至项目中

事例代码:

<% /******************************************************************************** JMail 下载地址 http://hbdx3.skycn.com/down/w3JMail43Personal.exe 安装之后把jmail.dll放到系统目录 然后运行:regsvr32 jmail.dll ********************************************************************************/ //SMTP Server config var val_sSMTPServer = "smtp.126.com"; var mailFrom = "[email protected]";//邮箱地址 var smtpUser = "username";//邮箱用户名 var smtpPass = "******";//邮箱密码 function Rw(dat) { Response.Write(dat + '\r\n'); return; } function Rf(dat) { return Request.Form(dat)(); } function JMailSend(fromName,formMail,toMail,mailSubject,mailBody) { var objMail = new ActiveXObject( "JMail.Message" ); var subject = mailSubject; var body = mailBody; var mail = toMail; objMail.Logging = true; objMail.Charset = "UTF-8"; objMail.Priority = 3; objMail.ContentType = "text/html"; objMail.From = formMail; objMail.FromName = fromName; objMail.AddRecipient( mail ); objMail.Subject = subject; objMail.Body = body; objMail.MailServerUserName = smtpUser; objMail.MailServerPassword = smtpPass; objMail.Send( val_sSMTPServer ); objMail.Close(); } /* 碰到这种情况说明网易把IP列入黑名单需要换smtp服务器 The message was undeliverable. All servers failed to receive the message ClientLogging enabled: Client Remote Address: 127.0.0.1 .execute() { Trying server mail:smtp.163.com <- 220 163.com Anti-spam GT for Coremail System (163com[20050206]) -> EHLO linjin10-sj78xi
<- 250-mail 250-PIPELINING 250-AUTH LOGIN PLAIN 250-AUTH=LOGIN PLAIN 250 8BITMIME -> AUTH LOGIN
Sending authentication data..
<- 550 用户被锁定 Authentication failed. smtp.163.com failed.. No socket for server. ConnectToServer() 1 of 1 servers failed } */ %>

Leave a Reply

Your email address will not be published.