网上我见到过很多的关于jmail发信的教程,可是每一篇讲的几乎都只是原理,对于没有用过 jmail 的 ASP 用户要调试成功还是很需要下一番苦工,我就是被理论蒙蔽了的受害者,不过经过反复琢磨还是调试成功了,以下我把他单独作成了示例大家只要按要求复制代码另存后就能看到效果了,代码旁边有注释,结合理论教程我想应该没问题了!
复制下面的代码,存为 ASP 文件,把他上传到支持 ASP 和 JMAIL 发信组件空间里,运行就能看到效果了,
另外需要特别说明的就是邮件服务器是否需要验证这个选项是很关键的,经过我们反复测试如果不需要验证的服务器发送时您选中了需要验证信件将无法成功发送,而需要验证身份的服务器,您发送时必须选中需要验证,并正确填写好验证 ID 和密码比如如果你是使用 163.COM 的免费信箱的用户 SMTP 服务器应该是 SMTP.163.COM 这个是需要验证的正确填写后才能发送!
发不出信件还有一种可能那就是有些服务器的 SMTP 身份验证密码,和您登陆信箱的密码是不一样的,这个信箱提供商应该会在醒目位置提醒你一般这样的 SMTP 邮件服务器很少,至少我还没碰到过!
<%'====================================================================================== Dim ForUser, FromUser, ForUserEmail, FromUserEmail, SmtpServer Dim emailTit, emailTxt, FromUserID, FromUserIDPW emailTit = Request.Form("emailTit") '从表单获取email的标题 emailTxt = Request.Form("emailTxt") '从表单获取邮件的内容 '==========================以下绿色代码是判断服务器是否支持JMAIL组件 Function IsObjInstalled(strClassString) On Error Resume Next IsObjInstalled = False Err = 0 Dim xTestObj Set xTestObj = Server.CreateObject(strClassString) If 0 = Err Then IsObjInstalled = True Set xTestObj = Nothing Err = 0 End Function if not IsObjInstalled("JMail.Message") then Response.write"你所使用的服务器不支持邮件发送!" Response.End end if '========================================================== if Trim(Request.Form("action")) = "确定发送" then SmtpServer = Request.Form("SmtpServer") FromUserEmail = Request.Form("FromUserEmail") FromUser = Request.Form("FromUser") ForUserEmail = Request.Form("ForUserEmail") FromUserID = Request.Form("FromUserID") FromUserIDPW = Request.Form("FromUserIDPW") Dim JMail Set JMail=Server.CreateObject("JMail.Message") JMail.Logging=True JMail.Charset="gb2312" JMail.ContentType = "text/HTML" JMail.AddHeader "Originating-IP", Request.ServerVariables("REMOTE_ADDR") if Request.Form("smtpPW") = "1" then '判断服务器是否需要身份验证 ' 身份验证 JMail.MailServerUserName = FromUserID ' 身份验证的用户名 JMail.MailServerPassword = FromUserIDPW ' 身份验证的密码 end if JMail.From = FromUserEmail '发件人的信箱 JMail.FromName = FromUser '发件人的名字 JMail.Subject = emailTit '邮件的主题 JMail.Body = emailTxt '邮件的内容 '==============================收件人的地址! JMail.AddRecipient(ForUserEmail) '收件人的地址 JMail.Priority=5 '邮件级别1-5数字越大级别越高---3为普通邮件 JMail.Send(SmtpServer) '红色变量是邮件服务器地址 JMail.Close Set JMail=nothing if err then err.clear Response.Write "<center><b> 发信功能已经打开,但因服务器不支持发信或者信箱地址错误,导致信件无法发出!</b></center>" Response.End else Response.Write "<center><b> 信件已经发出!</b></center>" Response.End end if end if %> <style type="text/CSS"> <!-- td { font-size: 12px; } --> </style> <body leftmargin="0" topmargin="2" bgcolor="#0066CC"> <form action="" method="post" name="input" target="_self"> <table width="436" border="0" align="center" bgcolor="#0066CC" cellpadding="3" cellspacing="1"> <tr bgcolor="#CADBF7"> <td width="154" align="right" height="28">收件人名字:</td> <td width="267" height="28" class="text1"> <input name="ForUser" type="text" value="我容易么我" size="20"> </td> </tr> <tr bgcolor="#CADBF7"> <td width="154" align="right" height="28">收件人地址:</td> <td width="267" height="28"> <input name="ForUserEmail" type="text" size="20" maxlength="50"> </td> </tr> <tr bgcolor="#CADBF7"> <td width="154" align="right" height="28">发件人姓名:</td> <td width="267" height="28"> <input name="FromUser" type="text" value="今晚在线" size="20"> </td> </tr> <tr bgcolor="#CADBF7"> <td width="154" height="13" align="right">发件人地址:</td> <td width="267" height="13"> <input name="FromUserEmail" type="text" value="" size="20" maxlength="50"> </td> </tr> <tr bgcolor="#E1F4FF"> <td height="13" align="right">服务器是否需要身份验证:</td> <td width="267" height="13"> <input type="radio" name="smtpPW" value="1">需要 <input name="smtpPW" type="radio" value="0" checked>不需要</td> </tr> <tr bgcolor="#E1F4FF"> <td width="154" height="28" align="right">发件信箱登陆名:</td> <td height="28"> <input name="FromUserID" type="text" id="FromUserID" value="" size="20" maxlength="50"></td> </tr> <tr bgcolor="#E1F4FF"> <td width="154" height="27" align="right">发件人登陆密码:</td> <td height="27"> <input name="FromUserIDPW" type="text" id="FromUserIDPW" value="" size="20" maxlength="50"></td> </tr> <tr bgcolor="#CADBF7"> <td width="154" height="26" align="right">邮件服务器:</td> <td height="26"> <input name="smtpServer" type="text" class="biankuang" id="smtpServer" value="smtp.163.com" size="30" maxlength="50"></td> </tr> <tr bgcolor="#CADBF7"> <td width="154" align="right" height="28">邮件标题:</td> <td width="267" height="28"> <input name="EmailTit" type="text" value="今晚在线邮件测试…………" size="30" maxlength="50"> </td> </tr> <tr bgcolor="#CADBF7"> <td width="154" align="right" height="20" valign="top">邮件内容:</td> <td width="267"> <textarea name="EmailTxt" cols="35" rows="4" id="EmailTxt"> 想起我了么?今晚在线吧! http://WWW.TOL8.COM </textarea> </td> </tr> <tr align="center" bgcolor="#CADBF7"> <td colspan="2" height="33"> <input type="submit" name="action" value="确定发送"> </td> </tr> <tr align="center" bgcolor="#CADBF7"> <td colspan="2" height="33"> </td> </tr> </table> </form>
「本文由 Savalone 原创或搜集整理发布,转载请遵守 CC BY-NC-ND 4.0 许可!」