vb net 寄信程式gmail篇

首先要登入Gmail,

然後到 https://www.google.com/settings/security/lesssecureapps
低安全性應用程式 → 開啟較低的應用程式存取權限
選擇開啟,否則會無法正常寄信


以下提供程式碼:

Imports System.Net.Mail

Public Class _Default
    Inherits Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load

    End Sub

    Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        SendMail()
    End Sub

    Private Sub SendMail()
        Dim mail As MailMessage = New MailMessage()  '信件本體宣告

        ' 寄件者, 收件者和副本郵件地址
        mail.From = New MailAddress("xxx@gmail.com", "寄件者")  '設定寄件者
        mail.To.Add(New MailAddress("xxx@gmail.com", "收件者"))    '設定收件者
        'mail.CC.Add(New MailAddress("cc1@gmail.com", "副本收件者1名稱")) '其它收件人
        'mail.CC.Add(New MailAddress("cc2@gmail.com", "副本收件者2名稱")) '其它收件人
        'mail.Bcc.Add(New MailAddress("Bcc@gmail.com", "密件副本收件者名稱")) '密本收件人

        mail.Priority = MailPriority.Normal          ' 優先等級
        mail.Subject = "E-mail 測試信件主旨- test"   ' 主旨
        mail.Body = Server.HtmlEncode(txt_mailbody.Text)  ' Email 內容
        ' 信件本文 txt_mailbody.text ,使用 Server.HtmlEncode 避免 Xss

        mail.IsBodyHtml = True                       '設定Email 內容為HTML格式
        'mail.BodyEncoding = Encoding.GetEncoding(950)     '設定編碼為BIG 5
        mail.SubjectEncoding = Encoding.UTF8               '兩種方式可用
        mail.BodyEncoding = Encoding.GetEncoding("utf-8")  '設定編碼為 utf-8

        ' 設定SMTP伺服器

        Dim smtpServer As New SmtpClient()        ' SMTP Server
        smtpServer.Credentials = New System.Net.NetworkCredential("帳號", "密碼")  '帳號及密碼認證
        '你的 gmail 帳號
        '你 gmail 帳號的密碼
        smtpServer.Port = 587
        smtpServer.Host = "smtp.gmail.com"        ' 指定寄信 SMTP 伺服器
        smtpServer.EnableSsl = True               ' 啟用 SSL

        Try
            smtpServer.Send(mail)                 ' 寄出郵件
            Response.Write(("<script>alert('郵件傳送 OK')</script>"))

        Catch ex As Exception
            Response.Write(("<script>alert('郵件傳送失敗')</script>"))
        End Try
    End Sub
End Class


大功告成,收工!


參考資料:https://ithelp.ithome.com.tw/articles/10190120

留言

熱門文章