回 帖 发 新 帖 刷新版面

主题:求助,关于jmail!

Set msg   = Server.CreateObject("JMail.SMTPMail") 
msg.silent  =  true
msg.Logging  =  true
msg.Charset  =  "gb2312"
msg.ContentType = "text/html"
msg.MailServerUserName  =  "****@rachem.com" '输入smtp服务器验证登陆名 (邮局中任何一个用户的Email地址)
msg.MailServerPassword  =  "****"   '输入smtp服务器验证密码   (用户Email帐号对应的密码)
msg.FROM  =  "service@rachem.com"        '发件人Email
msg.FromName  =  "aaaa"     '发件人姓名
msg.AddRecipient request("email")    '收件人Email
msg.Subject  =  "恭喜您成为我们网站的会员,来自aaaa "  '信件主题
msg.Body  =  "您的密码为:"&request("pass1")&" ,您的用户名为:"&request("username")&"。aaa,欢迎您经常访问。请记住我们的地址:http://www.aaaa.com.cn"         '正文
msg.Send ("mail.rachem.com")               'smtp服务器地址(企业邮局地址)
set msg  =  nothing

这个是我的代码,可是我不知道为什么,IE一直提示错误,提示如下:
此错误(HTTP 500 内部服务器错误)意味着您正在访问的网站出现了服务器问题,此问题阻止了该网页的显示。

有关 HTTP 错误的详细信息,请参阅帮助。


请各位帮忙看一下吧,谢谢!

回复列表 (共10个回复)

沙发

http://www.programfan.com/blog/blog.asp?author=wangsdong
我昨天发了一个调用jmail的函数,你试试

板凳


还是不行啊,一样的错误提示,又不说是哪里出错了,[em10],还有没有哪的办法啊?谢谢!

3 楼

确定服务器上安装了jmail,邮件服务器,用户名,密码都正确?

4 楼

Jmail有时并不能有效使用,建议使用Win2003自带的邮件组件CDO.Message 
现给出函数和调用示例。此函数来处百度搜索,我已调试使用过。
    'CDOSYS CDO.Message 邮件发送函数
    '把邮件服务器pcfun.cn换成你自己的,在它上面的用户名qq和密码ggggggg及邮件箱帐号qq@pcfun.cn换成你自己的,strAppendix为附件在本地磁盘的路径。

    sendCDOmail "pcfun.cn", "qq", "ggggggg", "xxx@21cn.com", "qq@pcfun.cn", "标题", "内容", ""

    function sendCDOmail(SMTPServerName, userName, password, toMail, fromMail, strSubject, strBody, strAppendix)

        Const cdoSendUsingMethod="http://schemas.microsoft.com/cdo/configuration/sendusing" 
        Const cdoSendUsingPort=2 
        Const cdoSMTPServer="http://schemas.microsoft.com/cdo/configuration/smtpserver" 
        Const cdoSMTPServerPort="http://schemas.microsoft.com/cdo/configuration/smtpserverport" 
        Const cdoSMTPConnectionTimeout="http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout" 
        Const cdoSMTPAuthenticate="http://schemas.microsoft.com/cdo/configuration/smtpauthenticate" 
        Const cdoBasic=1 
        Const cdoSendUserName="http://schemas.microsoft.com/cdo/configuration/sendusername" 
        Const cdoSendPassword="http://schemas.microsoft.com/cdo/configuration/sendpassword" 

        Dim objConfig ' As CDO.Configuration 
        Dim objMessage ' As CDO.Message 
        Dim Fields ' As ADODB.Fields 

        Set objConfig = Server.CreateObject("CDO.Configuration") 
        Set Fields = objConfig.Fields 

        With Fields 
        .Item(cdoSendUsingMethod) = cdoSendUsingPort 
        .Item(cdoSMTPServer) = SMTPServerName '可用的外部邮件服务器域名 
        .Item(cdoSMTPServerPort) = 25 
        .Item(cdoSMTPConnectionTimeout) = 10 
        .Item(cdoSMTPAuthenticate) = cdoBasic 
        .Item(cdoSendUserName) = userName '邮箱的用户名 
        .Item(cdoSendPassword) = password '密码 
        .Update 
        End With 

        Set objMessage = Server.CreateObject("CDO.Message") 
        Set objMessage.Configuration = objConfig 

        With objMessage 
        .To = toMail '改成接收者的邮件地址 
        .From = fromMail '改成发送人的邮件地址 
        .Subject = strSubject '标题 
        .TextBody = strBody '正文 
        '.AddAttachment "C:\Scripts\Output.txt" '邮件附件 
        .Send 
        End With 

        Set Fields = Nothing 
        Set objMessage = Nothing 
        Set objConfig = Nothing 
    end function

5 楼

CDO.Message 的这个我试过了,不行啊,在倒数第四行的.Send 这个地方提示出错.至于JMAIL,我安装了之后,就可以运行了,可是我却没有收到任何的邮件!

6 楼

那个函数有输出值,0表示发送失败,1表示发送成功,你将它的值输出来看看是否发送成功?

7 楼

[quote]CDO.Message 的这个我试过了,不行啊,在倒数第四行的.Send 这个地方提示出错.至于JMAIL,我安装了之后,就可以运行了,可是我却没有收到任何的邮件![/quote]

可以这么说:
你没有安装好smtp服务器,或没有正确设置好
   在cmd下使用 telnet mail.pcfun.cn 25 如果出现 220表明你的服务器配置好了(这里的mail.pcfun.cn用你的邮件服务器代替)

8 楼

[quote]那个函数有输出值,0表示发送失败,1表示发送成功,你将它的值输出来看看是否发送成功?[/quote]

输入的值是1,但是没有收到邮件啊.

9 楼

[quote]
   在cmd下使用 telnet mail.pcfun.cn 25 如果出现 220表明你的服务器配置好了(这里的mail.pcfun.cn用你的邮件服务器代替)

[/quote]
运行的结果是220,但是还是.send的位置提示出错啊!

10 楼

谢谢各位的帮忙了,我用了另外的函数,测试成功.代码如下:
<%
Function Send_Email(smtpHost,smtpUser,smtpPass,mailTo,FromName,subject,content)
Set jmail = Server.CreateObject("JMAIL.Message")
jmail.silent = true
jmail.logging = true
jmail.Charset = "gb2312"
jmail.ContentType = "text/html"
jmail.AddRecipient mailTo
jmail.From = smtpUser
jmail.FromName = FromName
jmail.Subject = subject
jmail.Body = content
jmail.Priority = 1
jmail.MailServerUserName = smtpUser
jmail.MailServerPassword = smtpPass
jmail.Send(smtpHost)
jmail.Close()
response.write("邮件发送成功")
End Function
%>


其中Send_Email表示自定义的函数名称
参数smtpHost表示邮件服务器地址
参数smtpUser表示发信验证所需的登录帐户
参数smtpPass表示发信验证所需的登录密码
参数mailTo表示邮件收件人的E-Mail地址
参数FromName表示邮件发件人的名称
而参数subject和content则分别表示邮件的标题和正文内容

通过如下方法可应用该函数:
Call Send_EMail("smtp.126.com","dw8asp@126.com","******","cnbruce@msn.com","cnbruce","标题","邮件正文内容")

或者有个人邮局的可使用
Call Send_EMail("mail.cnbruce.com","root@cnbruce.com","******","cnbruce@msn.com","cnbruce","标题","邮件正文内容")

调试地址: http://www.dw8.cn/2006/mail

这是从另外的网站上找到的.

我来回复

您尚未登录,请登录后再回复。点此登录或注册