日期:2014-05-17  浏览次数:20781 次

关于ASP发邮件
有木有人做过ASP发邮件的,网上搜了一大堆,说用JMAIL,昨天搞了一天也没发出去。有人说用这东西可以发QQ邮件,我按网上说的弄了半天也没发出去……
我要配置的SMTP端口是587的,不是默认的25,请问大神们这个该怎么配??跪求代码,跪求,跪求,跪求,跪求……

------解决方案--------------------
java的jmail弄过一些,asp的没有弄过,jmail的上网搜搜有很多例子
------解决方案--------------------
VB.NET的,稍微改改就可以了
VB.NET code

    Public Function SendMail() As Boolean
        Try
            Dim jm As New jmail.Message
            jm.Charset = "utf-8"
            jm.From = _mailFrom '发送的邮件地址
            jm.FromName = _mailName '发件人姓名
            jm.AddRecipient(_mailTo) '收件人E-mail
            jm.ContentType = "text/html"
            jm.MailServerUserName = _smtpUser
            jm.MailServerPassWord = _smtpPwd
            jm.ReplyTo = _mailFrom '回复邮件地址
            jm.Subject = _mailSubject '邮件主题
            jm.Body = _mailBody '邮件内容
            If jm.Send(_smtpServer, False) Then
                Return True
            Else
                Return False
            End If
        Catch ex As Exception
            Return False
        End Try
    End Function

------解决方案--------------------
VBScript code

Sub sendJMail()
    Dim JMail, contentId
    
    On Error Resume Next
    
    Set JMail = Server.CreateObject("JMail.Message") 
    ' 邮件字符集,默认为"US-ASCII"
    JMail.CharSet = "gb2312" 
    ' 邮件格式
    ' JMail.ContentType = "text/html"
    ' 是否进行ISO编码,默认为True
    JMail.ISOEncodeHeaders = False  
    
    ' 发送者地址
    JMail.From = "username@163.com"
    ' 发送者姓名
    JMail.FromName = "宇宙" 
    
    ' 设置优先级,范围从1到5,越大的优先级越高,3为普通
    JMail.Priority = 3
    
    JMail.AddHeader "Originating-IP", Request.ServerVariables("REMOTE_ADDR")
    
    ' 加入一个收件人【变量email:收件人地址】可以同一语句重复加入多个
    JMail.AddRecipient("444444444@qq.com")
    JMail.AddRecipient("555555555@qq.com")
    
    ' 邮件主题
    JMail.Subject = "邮件主题" 
    ' 邮件主体(HTML(注意信件内链接附件的方式))
    JMail.HTMLBody = "<html><head><META content=zh-cn http-equiv=Content-Language><meta http-equiv=""Content-Type"" content=""text/html; CharSet=gb2312""><style type=text/css>A:link { FONT-SIZE: 9pt; TEXT-DECORATION: none; color: #000000}A:visited {FONT-SIZE: 9pt; TEXT-DECORATION: none; color: #666666}A:hover {COLOR: #ff6600; FONT-SIZE: 9pt; TEXT-DECORATION: underline}BODY {FONT-SIZE: 9pt} --></style></head><body><font color=red>邮件正文</font><br><font color=green>邮件正文</font><br><b>邮件正文</b></body></html>"
    
    ' 邮件主体(文本部分)
    JMail.Body = "我们的邮件采用了HTML格式,但是您的邮件查看软件可能不支持。。。邮件正文,邮件正文,邮件正文"
    
    ' 加入附件【变量filename:附件文件的绝对地址,确保用户IUSR_机器名有访问的权限】
    ' 【参数设置是(True)否(False)为Inline方式】
    'contentId = JMail.AddAttachment (Server.MapPath("1.txt"), False)
    
    ' 身份验证
    ' JMail.MailServerUserName = "username" ' 身份验证的用户名
    ' JMail.MailServerPassword = "password" ' 身份验证的密码
    ' 发送【调用格式:objJMail.Send([username:password@]SMTPServerAddress[:Port])】
    JMail.Send("username:password@smtp.163.com:25")
    
    ' 关闭并清除对象
    JMail.Close()
    Set JMail = Nothing
    
    If Err then
    Err.Clear
    Response.Write "邮件发送失败!"'&Err.Description
    Else
    Response.Write "邮件发送成功!"
    End If
End Sub

------解决方案--------------------
用jmail需要在iis上注册 jmail.dll
------解决方案--------------------
首先试下发自己邮箱或者内部邮箱试试,如果成功,表示发送没问题,然后再试发其他外网邮箱,建议用企业邮箱作为发件邮箱,因为其他的免费邮箱群发的邮件会被视为垃圾邮件甚至被拦截。
------解决方案--------------------