Unity中发送邮件

在Unity中发送邮件的功能:

最近在项目中需要使用到把指定的文件发送到目标邮箱的功能,在这里记录一下,方便以后使用。

注意事项

我们在Unity中发送邮件时,需要一个邮箱和对应的密码,由于是在Unity使用,所以邮箱登录属于第三方登录,需要把登录的邮箱设置为允许第三方登录,这时候一般会有一个第三方登录的授权码,而我们Unity中使用的登录密码就是这个授权码。至于怎么获取这个授权码,可以自行百度。
如QQ邮箱,设置允许第三方登录之后,点击生成授权码,就获得了一个第三方登录的授权码。记录下来即可。

当我们准备好了要使用的邮箱和第三方登录的授权码后,就是上代码了=_=
需要提醒大家的是,当我们频繁使用一个邮箱发送邮件的时候,有可能会被标记为垃圾邮件哦!!!!!!!

上代码

由于代码里面注释比较清晰,这里我就不解释代码了=_=
使用的时候把发件人的邮箱和授权码改成自己设置的就Ok了。
收件人的邮箱可以设置一个或者多个。

using System;
using System.Collections.Generic;
using System.Net;
using System.Net.Mail;
using System.Text;
using UnityEngine;/// <summary>
/// 邮件服务器类型
/// </summary>
public enum ClientEnum
{EMAIL_QQ,EMAIL_163,EMAIL_126
}
public class EmaiManager : MonoBehaviour
{public ClientEnum clientEnum = ClientEnum.EMAIL_QQ;private string mEmailAcount = "123456789@qq.com";//发件人的邮箱private string mEmailPassword = "546878744565";//发件人的邮箱第三方登录授权码/// <summary>/// 收件人邮箱/// </summary>private List<string> mReceiver = new List<string>(){"123456789@qq.com","965432157@qq.com","1666666666@163.com"};/// <summary>/// 邮件发送服务器/// </summary>private readonly List<string> smtpClient = new List<string>(){"smtp.qq.com","smtp.163.com","smtp.126.com"};void Start(){SendMail("测试用的", "只是测试而已", @"‪‪E:\测试.txt", OnCall);}/// <summary>/// 发送邮件/// </summary>/// <param name="subject">邮件标题</param>/// <param name="body">邮件内容</param>/// <param name="attachment">附件(要发送附件的路径,包括后缀)</param>/// <param name="onSend">回调函数</param>public void SendMail(string subject, string body, string attachment, Action<bool> onSend){if (mReceiver == null || mReceiver.Count < 1)return;MailMessage mail = new MailMessage();//发件人MailAddress fromAddr = new MailAddress(mEmailAcount);mail.From = fromAddr;//收件人,可以设置多个收件人,方法如下mReceiver.ForEach(r => mail.To.Add(r));//邮件标题mail.Subject = subject;mail.SubjectEncoding = Encoding.UTF8;//标题格式为UTF8  //邮件内容mail.Body = body;mail.BodyEncoding = Encoding.UTF8;//内容格式为UTF8  mail.Priority = MailPriority.High;//邮件级别 高级//附件,也就是要发送的文件mail.Attachments.Add(new Attachment(attachment));//邮件发送服务器,一般来说服务器可以到使用的邮箱后台查看,这里设置了QQ,163,126的SmtpClient client = new SmtpClient(smtpClient[(int)clientEnum]);//发送人的邮箱账号和密码(第三方授权码)client.Credentials = new NetworkCredential(mEmailAcount, mEmailPassword) as ICredentialsByHost;//是否启用ssl,也就是安全发送//client.EnableSsl = false;   //发送邮件client.SendCompleted += new SendCompletedEventHandler((sender, arg) =>{bool isResult = arg.Error == null;if (!isResult ){//失败Debug.LogError(arg.Error);}if (onSend != null){onSend(isResult );}});client.SendAsync(mail, null);}private void OnCall(bool b){Debug.Log(b);}
}

不积跬步,无以至千里;
不积小流,无以成江海 。

Unity中发送邮件相关推荐

  1. 学习在Unity中创建一个动作RPG游戏

    游戏开发变得简单.使用Unity学习C#并创建您自己的动作角色扮演游戏! 你会学到什么 学习C#,一种现代通用的编程语言. 了解Unity中2D发展的能力. 发展强大的和可移植的解决问题的技能. 了解 ...

  2. 学习用C#在Unity中创建一个2D Metroidvania游戏

    学习用C#在Unity中创建一个2D Metroidvania游戏 你会学到: 构建2D Unity游戏 用C#编程 玩家统计,水平提升,米尔和远程攻击 敌方人工智能系统 制定级别和级别选择 Lear ...

  3. 在Unity中制作4种不同的游戏

    流派:电子学习| MP4 |视频:h264,1280×720 |音频:AAC,48.0 KHz 语言:英语+中英文字幕(根据原英文字幕机译更准确)|大小解压后:8.6 GB 含课程素材 |时长:15h ...

  4. 学会在Unity中创建一个Match-3益智游戏 Learn To Create a Match-3 Puzzle Game in Unity

    MP4 |视频:h264,1280×720 |音频:AAC,44.1 KHz,2 Ch 语言:英语+中英文字幕(根据原英文字幕机译更准确) |时长:48场讲座(6h 38m) |大小解压后:2.8 G ...

  5. Unity中创建本地多人游戏完整案例视频教程 Learn To Create A Local Multiplayer Game In Unity

    Unity中创建本地多人游戏完整案例视频教程 Learn To Create A Local Multiplayer Game In Unity MP4 |视频:h264,1280x720 |音频:A ...

  6. C#开发Unity游戏教程之Unity中方法的参数

    C#开发Unity游戏教程之Unity中方法的参数 Unity的方法的参数 出现在脚本中的方法,无论是在定义的时候,还是使用的时候,后面都跟着一对括号"( )",有意义吗?看起来最 ...

  7. Unity中制作游戏的快照游戏支持玩家拍快照

    Unity中制作游戏的快照游戏支持玩家拍快照 有些游戏支持玩家"拍快照",也就是将游戏的精彩瞬间以图片的形式记录下来的功能.这个功能比较有趣,而且以后的用途也会很广,为此本节打算介 ...

  8. 如何在Unity中添加三维空间声音Spatial Sounds

    hololens的声音模块是头戴环上,靠近耳朵上方的一个红色的模块,三维空间声音感效果还不错,本文主要讲述如何在项目中使用空间声音特性.我们主要讲述必须的插件组件和unity声音组件和属性的设置来确保 ...

  9. unity项目源码_在Unity中使用protobuf

    Protocol Buffers (通常简称为protobuf) 是Google开发的一种格式,这种格式与开发语言无关.与运行平台无关,用于序列化结构数据,并且很容易扩展.这种格式可以用于通信协议.数 ...

最新文章

  1. GPU编程和流式多处理器(二)
  2. ubuntu配置ipv6
  3. 《LeetCode力扣练习》第338题 比特位计数 Java
  4. AI现状 人才短缺成为障碍
  5. asp.net 时间显示格式
  6. python自动化办公模块有哪些-Python 自动化办公|Word文档
  7. 电脑c盘空间不足怎么清理_C盘空间不足怎么办?如何给C盘扩容?
  8. 乡土中国思维导图精华版
  9. 一锄落花,葬在了寂寞的天涯
  10. 小牛电动Q2营收、利润双增,李一男身价却在6个月内减少8亿美元
  11. P5960 【模板】差分约束算法
  12. 无线网络与移动网络详解
  13. SQLSERVER数据库质疑解决方案
  14. sql函数DATEPART()与DATENAME()
  15. Postman高级应用(5):再也不用注释签名代码了——自动生成签名
  16. win7 mysql 卸载不干净,win7系统彻底删除mysql的方法教程
  17. 用NT52的boot.ini引导NT60启动Windows7
  18. python读取mat文件并画图_[宜配屋]听图阁
  19. OpenCV 中Iplimage结构详解
  20. 锁屏后微信显示无法连接服务器,手机锁屏后微信收不到信息是怎么回事

热门文章

  1. android 中强制关掉指定的应用
  2. 30个网站产品落地页免费模板(附下载)
  3. 中国 AI 应用开发者报告:超半数 AI 开发者年龄不到24岁
  4. Python基础入门:从变量到异常处理(一)
  5. 苹果6换屏多钱_iPhone 12系列官方换屏要多少钱?苹果给出答案
  6. 基于SSM的医院挂号门诊系统设计(含源文件)
  7. 重磅!2018第一届W.B.C世界区块链大会即将在澳门召开
  8. 你还记得几个腾讯的开源项目,这十个你用过吗
  9. 【Linux】面试题4.0
  10. 【解决方案】个人经营者或小型连锁商铺如何构建视频监控方案实现商铺实时监视及录像?