2012年6月21日 星期四

VB.net 使用Gmail寄送時Credentials =nothing的問題解決



因為需求上會針對多個條件來採用不同的郵件伺服器寄信
使用vb.net以gmail伺服器寄送郵件時,常會遇到無法寄送的狀況....

查看錯誤訊息 Credentials =nothing
肯定是程式碼執行的順序有點問題。當初還以為是傳入函數的參數有問題,才導致這個問題
問題解決了,與大家分享一下

黃色區塊的程式碼,順序有差喔,若Credential在之前,可能會導致nothing的錯誤
反正,就照抄即可。


        Dim mail As New MailMessage()
        Dim cred As New System.Net.NetworkCredential(帳號, 密碼) '帳號(不需含@gmail.com)
        mail.[To].Add("xxxxxxxxxx@yahoo.com.tw")
        mail.Subject =信件主旨
        mail.From = New System.Net.Mail.MailAddress(寄件人郵件, 稱謂)
        mail.IsBodyHtml = True 'HTML內文
        mail.Body = 信件內容

        Dim smtp As New SmtpClient("smtp.gmail.com")
        smtp.UseDefaultCredentials = False
        smtp.EnableSsl = True
        smtp.Credentials = cred
        smtp.Port = 587
        '送出Mail
        smtp.Send(mail)

沒有留言:

張貼留言

追蹤者