IIS中SMTP邮件服务器发送组件和jmail发信代码
asp中JMail(4.4)发送邮件很多时候用JMail发送邮件一直出错,常见原因有:
1。发送邮件服务器地址写错。如果用 163邮箱来发送,服务器地址应当写成 smtp.163.com
2。很多发送邮件服务器需要验证邮箱登录名(例:love@163.com)和密码(123456),如果这两样没提交,发送也会失败。
3。发件人邮箱地址和发送邮件服务器登录名不统一。
以下的代码已在asp中调试通过。
<%
Dim nReturnValue '发送函数
nReturnValue = SendMail_JMail("www.zzzyk.com", "web@zzzyk.com", "站长资源库信息", "web@zzzyk.com", "#123456#", "web@zzzyk.com", "注册成功提示", "您在我们网站上注册成功!")
Select Case nReturnValue
Case 0
Response.Write "邮件发送成功!"
Case 1
Response.Write "创建JMail组件失败!"
Case 2
Response.Write "邮件发送失败!"
End Select
'JMail发送邮件(4.4)
'参数:发送邮件SMTP服务器, 发件人邮箱地址, 发件人姓名, 发送邮件服务器登录名, 发送邮件服务器登录密码, 接收人邮件地址, 邮件标题, 邮件内容
Function SendMail_JMail(s_SMTPServer, s_FromMail, s_FromName, s_MailServerUserName, s_MailServerPassword, s_ToEmail, s_Subject, s_Body)
On Error Resume Next
Set jmail = Server.CreateObject("JMAIL.Message") '建立发送邮件的对象
If Err.Number <> 0 Then
SendMail_JMail = 1
Exit Function
End If
jmail.silent = True '屏蔽例外错误,返回FALSE跟TRUE两值
jmail.logging = False '启用邮件日志
jmail.Charset = "GB2312" '邮件的文字编码为中文
jmail.ISOEncodeHeaders = False '防止邮件标题乱码
jmail.ContentType = "text/html" '邮件的格式为HTML格式
jmail.AddRecipient s_ToEmail '邮件收件人的地址
jmail.From = s_FromMail '发件人的E-MAIL地址
jmail.FromName = s_FromName '发件人姓名
jmail.MailServerUserName = s_MailServerUserName '登录邮件服务器所需的用户名
jmail.MailServerPassword = s_MailServerPassword '登录邮件服务器所需的密码
jmail.Subject = s_Subject '邮件的标题
jmail.Body = s_Body '邮件的内容
jmail.Priority = 1 '邮件的紧急程序,1 为最快,5 为最慢, 3 为默认值
jmail.Send(s_SMTPServer) '执行邮件发送(通过邮件服务器地址)
jmail.Close() '关闭对象
If jmail.ErrorCode <> 0 Then
SendMail_JMail = 2
Else
SendMail_JMail = 0
End If
End Function
'IIS中SMTP邮件服务器发送组件
Function SendMail_IISSMTP(s_FromMail, s_ToEmail, s_Subject, s_Body)
Set cdomail = Server.CreateObject("CDONTS.NewMail") '建立邮件对象
cdomail.Subject = s_Subject '邮件标题
cdomail.From = s_FromMail '发件人的地址
cdomail.To = s_ToEmail '收件人的地址
cdomail.Body = s_Body '邮件的内容
cdomail.Send '执行发送
End Function
%>