今天整個下午,都在解決郵件主題與發送成功但收不到郵件的問題。鬱悶的。。
終於在晚上折騰好了,問題如下:
1.發送成功,但收不到郵件 原因:163發送郵件,被系統退回。
2.整個表單全是繁體提交,主題本地正常,服務器亂碼。 原因:jmail.ISOEncodeHeaders = false //需要設置為false.
全部代碼如下:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> <% Response.Charset="UTF-8" %> <% session.codepage=65001%> <% 'smtp为邮件服务器名 'user为smtp邮件服务器上的邮件地址 'pwd为smtp邮件服务器上的邮件的密码 'sendto为要发送的邮件地址 'from发件人名 'subject为主题 'body为邮件内容 '發送email函數 function sendmail(smtp,sendto,from,user,pwd,subject,body) Set jmail = Server.CreateObject("JMAIL.Message") '建立发送邮件的对象 jmail.silent = true '屏蔽例外错误,返回FALSE跟TRUE两值j jmail.logging = true '启用邮件日志 jmail.ContentType = "text/html;charset='utf-8'" '邮件的格式为HTML格式 有此句则发送附件时为乱 jmail.Charset = "UTF-8" '邮件的文字编码为国标 jmail.ContentTransferEncoding = "base64" jmail.Encoding = "base64" jmail.ISOEncodeHeaders = false '解决邮件主题乱码问题 jmail.AddRecipient sendto '邮件收件人的地址 jmail.From = from '发件人的E-MAIL地址 jmail.FromName ="myname" '发件人的姓名 jmail.MailServerUserName = user '登录邮件服务器所需的用户名 jmail.MailServerPassword = pwd '登录邮件服务器所需的密码 jmail.Subject = subject '邮件的标题 jmail.Body = body '邮件的内容 'jmail.AddAttachment Server.MapPath("login.gif")'附件--不能有此句:jmail.ContentType = "text/html" 'Jmail.AddAttachment Server.MapPath("b.rar") '否则附件会变成乱码 jmail.Priority = 3 '邮件的紧急程序,1 为最快,5 为最慢, 3 为默认值 'jmail.Send(smtp) '邮件服务器 'tempMessage = jmail.ErrorMessage if jmail.send(smtp)=false then'执行邮件发送(通过邮件服务器地址) t=0 Response.write "<script language=javascript>" Response.Write "alert('發送失敗!請檢查郵箱.') ;window.location='order_form.asp';" Response.Write "</script>" else t=1 Response.write "<script language=javascript>" Response.Write "alert('發送成功!'); window.location='order_form.asp';" Response.Write "</script>" end if jmail.Close set jmail=nothing end Function function GetMailbody(getNumber,getTuanTiName,getName,getFaxTel,getTel,getEmail,getTime,getAddress, getToFlourerName,getFromFlourerName,getMessage,getNumber_1,getNumber_2,getNumber_3, getNumber_4,getNumber_5,getNumber_6,getNumber_7,getNumber_8,getNumber_9,getNumber_10, getNumber_11,getNumber_12) GetMailbody="" fullpath= Server.MapPath("order_text.html") tmpMailbody=ReadFromTextFile(fullpath,"UTF-8") tmpMailbody=Replace(tmpMailbody, "@Number@",getNumber) tmpMailbody=Replace(tmpMailbody, "@TuanTiName@",getTuanTiName) tmpMailbody=Replace(tmpMailbody, "@Name@",getName) tmpMailbody=Replace(tmpMailbody, "@MaxTel@",getFaxTel) tmpMailbody=Replace(tmpMailbody, "@MobleTel@",getTel) tmpMailbody=Replace(tmpMailbody, "@Email@",getEmail) tmpMailbody=Replace(tmpMailbody, "@Time@",getTime) tmpMailbody=Replace(tmpMailbody, "@Address@",getAddress) tmpMailbody=Replace(tmpMailbody, "@ToFlouerName@",getToFlourerName) tmpMailbody=Replace(tmpMailbody, "@FromFlouerName@",getFromFlourerName) tmpMailbody=Replace(tmpMailbody, "@Message@",getMessage) tmpMailbody=Replace(tmpMailbody, "@Number_1@",getNumber_1) tmpMailbody=Replace(tmpMailbody, "@Number_2@",getNumber_2) tmpMailbody=Replace(tmpMailbody, "@Number_3@",getNumber_3) tmpMailbody=Replace(tmpMailbody, "@Number_4@",getNumber_4) tmpMailbody=Replace(tmpMailbody, "@Number_5@",getNumber_5) tmpMailbody=Replace(tmpMailbody, "@Number_6@",getNumber_6) tmpMailbody=Replace(tmpMailbody, "@Number_7@",getNumber_7) tmpMailbody=Replace(tmpMailbody, "@Number_8@",getNumber_8) tmpMailbody=Replace(tmpMailbody, "@Number_9@",getNumber_9) tmpMailbody=Replace(tmpMailbody, "@Number_10@",getNumber_10) tmpMailbody=Replace(tmpMailbody, "@Number_11@",getNumber_11) tmpMailbody=Replace(tmpMailbody, "@Number_12@",getNumber_12) GetMailbody=tmpMailbody end Function '读取文本 function ReadFromTextFile(FileUrl,CharSet) dim str set stm=server.CreateObject("adodb.stream") stm.Type=2 '以本模式读取 stm.mode=3 stm.charset=CharSet stm.open stm.loadfromfile FileUrl str=stm.readtext stm.Close set stm=nothing ReadFromTextFile=str end function '給值 myNumber= Request.form("NumberNo") TuanTiName= Request.form("TuanTiName") myName= Request.form("Name") FaxTel= Request.form("FaxTel") Tel= Request.form("Tel") Email= Request.form("Email") myTime= Request.form("Time") Address= Request.form("Address") ToFlourerName= Request.form("ToFlourerName") FromFlourerName= Request.form("FromFlourerName") Message= Request.form("Message") Number_1= Request.form("N_1") Number_2= Request.form("N_2") Number_3= Request.form("N_3") Number_4= Request.form("N_4") Number_5= Request.form("N_5") Number_6= Request.form("N_6") Number_7= Request.form("N_7") Number_8= Request.form("N_8") Number_9= Request.form("N_9") Number_10= Request.form("N_10") Number_11= Request.form("N_11") Number_12= Request.form("N_12") smtp1="smtp.163.com" user1="wddk2006@163.com" pwd1="******" sendto1=Email from1="wddk2006@163.com" '要和user中的内容一样 subject1="基督教帛事花籃訂購" body1= GetMailbody(myNumber,TuanTiName,myName,FaxTel,Tel,Email,myTime,Address,ToFlourerName,FromFlourerName, Message,Number_1,Number_2,Number_3,Number_4,Number_5,Number_6,Number_7,Number_8,Number_9, Number_10,Number_11,Number_12) t=sendmail(smtp1,sendto1,from1,user1,pwd1,subject1,body1) %>
order_text.html 為發送的主體html模板文件