当前位置:编程学习 > asp >>

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

%>


CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,