laifangsong's blog

取长补短,精益求精。 (打个广告,想做手机网站和asp/asp.net网站的可以跟我联系.QQ:25313644)
posts - 51, comments - 185, trackbacks - 0, articles - 0
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理

asp中JMail(4.4)发送邮件

Posted on 2007-06-06 09:48 laifangsong 阅读(423) 评论(2)  编辑 收藏

很多时候用JMail发送邮件一直出错,常见原因有:
1。发送邮件服务器地址写错。如果用 163邮箱来发送,服务器地址应当写成 smtp.163.com
2。很多发送邮件服务器需要验证邮箱登录名(例:laifangsong@163.com)和密码(123456),如果这两样没提交,发送也会失败。
3。发件人邮箱地址和发送邮件服务器登录名不统一。

以下的代码已在asp中调试通过。

<%

Dim nReturnValue '发送函数
nReturnValue = SendMail_JMail("mail.qcmw.com""laifangsong#qcmw.com""倾城wap自动建站系统""laifangsong#qcmw.com""#123456#""laifangsong#126.com""注册成功提示""您在我们网站上注册成功!")
Select Case nReturnValue
Case 0
    Response.Write 
"邮件发送成功!"
Case 1
    Response.Write 
"创建JMail组件失败!"
Case 2
    Response.Write 
"邮件发送失败!"
End Select


'JMail发送邮件(4.4)
'
组件下载:http://www.52z.com/Down/3525.html
'
参数:发送邮件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

%
>




Feedback

#1楼    回复  引用  查看    

2007-06-29 10:54 by mukden [未注册用户]
测试成功 ,感谢兄弟的代码

http://www.mukden.cn 奉天网络科技有限公司

#2楼    回复  引用  查看    

2007-08-17 15:37 by 33 [未注册用户]
我不大会用..请问能给一个完整的我吗?邮箱.shan.huang@pcfree.cn
用163的邮件服器发送到我的邮件,

标题  
姓名  
主页
Email (只有博主才能看到) 
验证码 *  看不清,换一张
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2007-06-27 15:34 编辑过
 
另存  打印
最新IT新闻: