我是以自己的Gmail做寄信人,所以SmtpClient的部分是參考用Gmail時的寫法,用其他家的Mail時設定都會不一樣的樣子。
using System.Collections; using System.Collections.Generic; using UnityEngine; using System.Net; using System.Net.Mail; public class EmailController : MonoBehaviour { void Start () { } void Update () { } void EmailAction() { MailMessage mailMessage = new MailMessage (); SmtpClient smtpClient = new SmtpClient ("smtp.gmail.com"); Attachment attachment = new Attachment (@"Assets/A.png"); //指定要夾帶的物件路徑 mailMessage.From = new MailAddress ("寄信人信箱", "寄信人名字", System.Text.Encoding.UTF8); mailMessage.To.Add ("收信人信箱1"); mailMessage.To.Add ("收信人信箱2"); mailMessage.CC.Add ("收信人信箱3"); mailMessage.Bcc.Add ("收信人信箱4"); mailMessage.Subject = "送給你一張好圖片"; mailMessage.Body = "這是我精挑細選、要送給你的一張好圖片。"; mailMessage.SubjectEncoding = System.Text.Encoding.UTF8; mailMessage.BodyEncoding = System.Text.Encoding.UTF8; mailMessage.Attachments.Add (attachment); mailMessage.Priority = MailPriority.High; smtpClient.Port = 587; smtpClient.Credentials = new System.Net.NetworkCredential ("寄信人信箱", "寄信人信箱密碼") as ICredentialsByHost; smtpClient.EnableSsl = true; ServicePointManager.ServerCertificateValidationCallback = delegate(object sender, System.Security.Cryptography.X509Certificates.X509Certificate certificate, System.Security.Cryptography.X509Certificates.X509Chain chain, System.Net.Security.SslPolicyErrors sslPolicyErrors) { return true; }; smtpClient.Send (mailMessage); Debug.Log ("寄信完成!!"); } }在使用此方式時,作為SMTP的信箱帳戶必須要將安全防護性降低,才能順利寄出信件。
哈囉紹瑋你好~
回覆刪除先感謝分享你的研究XD
我在使用時遇到一些問題,使用Gmail寄信方會有權限問題會被Gmail檔下
後來參考下方這篇重新設定權限就能成功寄出信件
在這協助幫忙補充XD
http://blog.lyhdev.com/2015/10/gmail-smtp-invalid-login-error.html
感謝補充~~~~
刪除