在ASP中使用Jmail發郵件問題

來源:互聯網
上載者:User

問題:

--------------------------------------------------------------------------------------------------------------------
IIS版本:  Microsoft-IIS/5.0
支援發送郵件組件:
JMail.SmtpMail (Dimac JMail 郵件收發)  √ 4.4
代碼如下:
<%
  Set jmail = Server.CreateObject("JMAIL.SMTPMail")   '建立一個JMAIL對象
  jmail.silent = true   'JMAIL不會拋出例外錯誤,返回的值為FALSE跟TRUE
  jmail.logging = true   '啟用使用日誌
  jmail.Charset = "GB2312"  '郵件文字的代碼為簡體中文
  jmail.ContentType = "text/html"  '郵件的格式為HTML的
  jmail.ServerAddress = "smtp.163.com"   '發送郵件的伺服器
  jmail.AddRecipient "xxx@163.com"    '郵件的收件者
  jmail.SenderName = "SenderName"    '郵件寄件者的姓名
  jmail.Sender = "xxx@163.com"    '郵件寄件者的郵件地址
  jmail.Priority = 1   '郵件的緊急程式,1 為最快,5 為最慢, 3 為預設值
  jmail.Subject = "Mail Subject"  '郵件的標題
  jmail.Body = "Mail Body"   '郵件的內容
  jmail.Execute()   '執行郵件發送
  jmail.Close    '關閉郵件對象
  response.write "ok"
%>

代碼能夠執行成功,但是不能接收到郵件?請問下是什麼問題?

---------------------------------------------------------------------------------------------------------------------

主要是smtp伺服器需要認證,如果是163的使用者的話,你的程式中加上使用者名稱和密碼認證即可。

下面的代碼引自Guest7(第七訪客)
///////////////////////////
'========================================================
'函數名:SendMail
'作  用:用Jmail組件發送郵件(需要驗證形式)
'說  明: Jmail4.3組件重新設計了其內部結構——使用
'        Message對象代替原來的單一對象Jmail.smtpmail發送
'        郵件,有些方法需要身分識別驗證的(如163、yahoo等),
'        可以用下面的方法解決:
'參  數:MailtoAddress  ----收信人地址
'        MailtoName    -----收信人姓名
'        Subject       -----主題
'        MailBody      -----信件內容
'        FromName      -----發信人姓名
'        MailFrom      -----發信人地址
'        MailServer    -----用來發郵件的SMTP伺服器位址
'        Priority      -----信件優先順序
'        MailServerUserName    -----登入使用者名稱
'        MailServerPassWord    -----登入密碼
'        MailDomain            -----網域名稱
'========================================================
function SendMail(MailtoAddress,MailtoName,Subject,MailBody,FromName,MailFrom,MailServer,Priority,MailServerUserName,MailServerPassWord,MailDomain)
on error resume next
Dim JMail
Set JMail=Server.CreateObject("JMail.Message")
if err then
SendMail= "<br/><li>沒有安裝JMail組件</li>"
err.clear
exit function
end if
JMail.Charset="gb2312"          '郵件編碼
JMail.silent=true
JMail.ContentType = "text/html"     '郵件內文格式
JMail.ServerAddress= MailServer     '用來發送郵件的SMTP伺服器
'如果伺服器需要SMTP身分識別驗證則還需指定以下參數
JMail.MailServerUserName = MailServerUserName   '登入使用者名稱
JMail.MailServerPassWord = MailServerPassWord        '登入密碼
JMail.MailDomain = MailDomain       '網域名稱(如果用“name@domain.com”這樣的使用者名稱登入時,請指明domain.com
JMail.AddRecipient MailtoAddress,MailtoName     '收信人
JMail.Subject=Subject         '主題
JMail.HMTLBody=MailBody       '郵件內文(HTML格式)
JMail.Body=MailBody          '郵件內文(純文字格式)
JMail.FromName=FromName         '發信人姓名
JMail.From = MailFrom         '發信人Email
JMail.Priority=Priority              '郵件等級,1為加急,3為普通,5為低級
JMail.Send(MailServer)
SendMail =JMail.ErrorMessage
JMail.Close
Set JMail=nothing
End function

 經測試利用以上代碼可以發送到多數免費郵箱,但在發到我的Yahoo郵箱時出現了錯誤,伺服器拒收郵件,不知是何故? 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.