Unity中进行邮件收发,其实也是引用C#中System.Net与System.Net.Mail的命名空间;
需要引入的命名空间然后我们建立一个MailManager的类并把他挂在物体上
创建一个邮件收发的公有方法SendMailTo
public void SendMailTo(string mailAddresss, string picUrl = "")
{
var sucRes = new SuccessRes(mailAddresss, picUrl);
try
{
using (MailMessage mail = new MailMessage())
{
mail.From = new MailAddress("这里填你的邮箱地址");
mail.To.Add(mailAddresss);
//邮件的标题
mail.Subject = MailTitl;
//邮件的内容
mail.Body = MailBody;
//邮件的附件
mail.Attachments.Add(new Attachment(picUrl));
//发送邮件的服务器
SmtpClient mailServer = new SmtpClient("smtp.163.com");
//端口
mailServer.Port = 25;
mailServer.Credentials = new NetworkCredential("邮箱账号", "密码或授权码") as ICredentialsByHost;
mailServer.EnableSsl = true;
ServicePointManager.ServerCertificateValidationCallback += (e, t, f, g) =>
{
return true;
};
mailServer.Send(mail);
// #if UNITY_EDITOR
Debug.Log("success发送邮件成功");
// #endif
}
}
catch (System.Exception e)
{
// #if UNITY_EDITOR
Debug.Log(e.Message);
// #endif
}
}
还有就是发送邮件再Unity里有一个坑,就是编辑器下明明都好好的,然而编译出去就发送不了了?之前查了很多,都以为是代码问题,然而确实编辑器的一个设置问题。
那就是在PlayerSetting设置为.net 20 subset编译出来就没问题了;
之后如果不偷懒应该会把这篇文章再完善一下下。先就这样吧。
网友评论