实现邮件发送,其实很简单,我用的是qq邮箱,可以发送给任何类型的邮箱,但是你需要开通qq邮箱的推送服务设置就行了,
登录qq邮箱,找到设置
选择账户:
找到POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务:
点击开启服务:
然后qq设置就完成了。
下面是代码实现邮箱推送了。
/// <summary> /// 邮件推送 /// </summary> /// <returns></returns> [Obsolete] public static async Task SendMailAsync(string email,string Content,string PushType,string filder) { string smtpService = "smtp.qq.com"; string sendEmail = "你的qq号@qq.com"; string sendpwd = "kcbglwpdsqxjceda";//你开启qq设置的时候,会生成一个key值,复制过来就行了。 //确定smtp服务器地址 实例化一个Smtp客户端 SmtpClient smtpclient = new SmtpClient(); smtpclient.Host = smtpService; //确定发件地址与收件地址 MailAddress sendAddress = new MailAddress(sendEmail); MailAddress receiveAddress = new MailAddress(email); //构造一个Email的Message对象 内容信息 MailMessage mailMessage = new MailMessage(sendAddress, receiveAddress); mailMessage.Subject = PushType + DateTime.Now; mailMessage.SubjectEncoding = System.Text.Encoding.UTF8; mailMessage.Body = Content; mailMessage.BodyEncoding = System.Text.Encoding.UTF8; //邮件发送方式 通过网络发送到smtp服务器 smtpclient.DeliveryMethod = SmtpDeliveryMethod.Network; //如果服务器支持安全连接,则将安全连接设为true smtpclient.EnableSsl = true; try { //是否使用默认凭据,若为false,则使用自定义的证书,就是下面的networkCredential实例对象 smtpclient.UseDefaultCredentials = false; //指定邮箱账号和密码,需要注意的是,这个密码是你在QQ邮箱设置里开启服务的时候给你的那个授权码 NetworkCredential networkCredential = new NetworkCredential(sendEmail, sendpwd); smtpclient.Credentials = networkCredential; //发送邮件 smtpclient.Send(mailMessage); Console.WriteLine("发送邮件成功"); } catch (System.Net.Mail.SmtpException ex) { Console.WriteLine(ex.Message, "发送邮件出错"); } }
运行后效果: