Winform Gmail 發送信件

Winform Gmail 發送信件

Imports System.Xml
Imports System.Net.Mail
Public Class SetSMTP
    Dim ReadXML As New XmlDocument
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        '測試發送信件
        Dim mail As String = InputBox("請輸入測試的信箱")
        'Try
        Dim NewMail As New MailMessage()
        NewMail.From = New MailAddress(sSender.Text, sSenderName.Text) '發送者
        NewMail.To.Add(mail) '收件者
        NewMail.SubjectEncoding = System.Text.Encoding.UTF8 '主題編碼格式
        NewMail.IsBodyHtml = True  'HTML語法(true:開啟false:關閉)
        NewMail.BodyEncoding = System.Text.Encoding.UTF8 '內文編碼格式
        Dim NewSmtp As New SmtpClient() '建立SMTP連線
        NewSmtp.Credentials = New System.Net.NetworkCredential(sAccount.Text, sPassword.Text) '連線驗證
        NewSmtp.Port = 587 'SMTP Port
        NewSmtp.Host = sHost.Text 'SMTP主機名稱
        NewSmtp.EnableSsl = True '開啟SSL驗證
        NewSmtp.Send(NewMail) '發送
        MsgBox("測試信件寄出成功,以傳送至" & mail)
        'Catch ex As Exception
        '    MsgBox("測試信件寄送失敗,請檢查相關設定!")
        'End Try
    End Sub

    Private Sub SetSMTP_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        '讀取XML
        ReadXML.Load(Application.StartupPath & "\config.xml")
        sSender.Text = ReadXML.SelectNodes("Setting/SMTP/sender").Item(0).InnerXml
        sSenderName.Text = ReadXML.SelectNodes("Setting/SMTP/senderName").Item(0).InnerXml
        sAccount.Text = ReadXML.SelectNodes("Setting/SMTP/account").Item(0).InnerXml
        sPassword.Text = ReadXML.SelectNodes("Setting/SMTP/password").Item(0).InnerXml
        sHost.Text = ReadXML.SelectNodes("Setting/SMTP/host").Item(0).InnerXml
        Dim rType As Byte = ReadXML.SelectNodes("Setting/SMTP/rType").Item(0).InnerXml
    End Sub

    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        '儲存XML
        ReadXML.Load(Application.StartupPath & "\config.xml")
        ReadXML.SelectNodes("Setting/SMTP/sender").Item(0).InnerXml = sSender.Text
        ReadXML.SelectNodes("Setting/SMTP/senderName").Item(0).InnerXml = sSenderName.Text
        ReadXML.SelectNodes("Setting/SMTP/account").Item(0).InnerXml = sAccount.Text
        ReadXML.SelectNodes("Setting/SMTP/password").Item(0).InnerXml = sPassword.Text
        ReadXML.SelectNodes("Setting/SMTP/host").Item(0).InnerXml = sHost.Text
        Dim rType As Byte
        ReadXML.SelectNodes("Setting/SMTP/rType").Item(0).InnerXml = rType
        ReadXML.Save(Application.StartupPath & "\config.xml")
    End Sub
End Class