今天在弄企业邮箱推送的东西,原版代码是这样的

public void SendEmail(string title, string content)
{
try
{
MailMessage mailMsg = new MailMessage();
mailMsg.To.Add(new MailAddress(ToEmails));
mailMsg.From = new MailAddress(FromEmail);
// 邮件主题
mailMsg.Subject = title;
// 邮件正文内容
mailMsg.AlternateViews.Add(AlternateView.CreateAlternateViewFromString(content, null, MediaTypeNames.Text.Html));
// 添加附件
//string file = "D:\\1.txt";
//Attachment data = new Attachment(file, MediaTypeNames.Application.Octet);
//mailMsg.Attachments.Add(data);
//邮件推送的SMTP地址和端口
SmtpClient smtpClient = new SmtpClient(EmailHost, EmailPort);
//SmtpClient smtpClient = new SmtpClient(EmailHost);
// 使用SMTP用户名和密码进行验证
System.Net.NetworkCredential credentials = new System.Net.NetworkCredential(FromEmail, FromEmailPW);
smtpClient.EnableSsl = true;
//smtpClient.Timeout = 10000;//超时
smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
smtpClient.UseDefaultCredentials = false;
smtpClient.Credentials = credentials;
smtpClient.Send(mailMsg);
}
catch (Exception ex)
{ throw;
} }

按照腾讯企业邮箱给的文档,我设置好邮箱账号、密码、smtp服务器、端口号之后开始测试,发现总是报错,当时腾讯企业邮箱的官方提示是这样的

可以看到,这里给的端口号是465,(这里不知道要不要骂娘了)

然后我断断续续的测试了一下午,发现怎么都发不出邮件,按理不会啊,就这么几行代码的事情,于是我试着删除一些配置,让程序按照自己的默认值来运行,于是我删除了端口号的配置,代码如下:

/// <summary>
///
/// </summary>
/// <param name="UserName"></param>
/// <param name="Money"></param>
public void SendEmail(string title, string content)
{
try
{
MailMessage mailMsg = new MailMessage();
mailMsg.To.Add(new MailAddress(ToEmails));
mailMsg.From = new MailAddress(FromEmail);
// 邮件主题
mailMsg.Subject = title;
// 邮件正文内容
mailMsg.AlternateViews.Add(AlternateView.CreateAlternateViewFromString(content, null, MediaTypeNames.Text.Html));
// 添加附件
//string file = "D:\\1.txt";
//Attachment data = new Attachment(file, MediaTypeNames.Application.Octet);
//mailMsg.Attachments.Add(data);
//邮件推送的SMTP地址和端口
//SmtpClient smtpClient = new SmtpClient(EmailHost, EmailPort);
SmtpClient smtpClient = new SmtpClient(EmailHost);
// 使用SMTP用户名和密码进行验证
System.Net.NetworkCredential credentials = new System.Net.NetworkCredential(FromEmail, FromEmailPW);
smtpClient.EnableSsl = true;
//smtpClient.Timeout = 10000;//超时
smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
smtpClient.UseDefaultCredentials = false;
smtpClient.Credentials = credentials;
smtpClient.Send(mailMsg);
}
catch (Exception ex)
{ throw;
} }

结果就发出去了,我是真的日了狗,邮件发送失败的提示的提示也没有具体信息,先记录一下,以后使用这些企业邮箱实现邮件推送,最好不要用他们提供的端口号,感觉只需要有发信服务器就行了。

记一次邮件推送的坑,c#基于smtp使用腾讯企业邮箱发送邮件总是失败的原因的更多相关文章

  1. 解决.NET Core中MailKit无法使用阿里云邮件推送服务的问题

    在博问中(.net core怎么实现邮件发送)知道了MailKit无法使用阿里云邮件推送服务发送邮件的问题,自已实测也遇到同样的问题,而用自己搭建的邮件服务器没这个问题. 于是,向阿里云提交了工单.. ...

  2. Laravel 下结合阿里云邮件推送服务

    最近在学习laravel做项目开发,遇到注册用户推送邮件的问题,之前用java做的时候是自己代码写的,也就是用ECS推送邮件,但是现在转php的laravel了就打算用php的邮件发送功能来推送邮件, ...

  3. 用ASP.NET Core 1.0中实现邮件发送功能-阿里云邮件推送篇

    在上篇中用MailKit实现了Asp.net core 邮件发送功能,但一直未解决阿里云邮件推送问题,提交工单一开始的回复不尽如人意,比如您的网络问题,您的用户名密码不正确等,但继续沟通下阿里云客户还 ...

  4. RedMine项目管理系统邮件推送设置(Windows环境)

    RedMine项目管理系统有邮箱推送功能,当Bug,安全漏洞等内容被修改.解决.评论的时候,系统会通过邮件 及时的通知你的团队和客户.邮件通知的环节.形式.时间.接受人均可定制,功能十分实用. 下面是 ...

  5. wordpress使用阿里云邮件推送服务实现发送邮件

    之前用腾迅云时,配置了wordpress是可以使用邮件服务的,然而到了阿里云,却无法使用了,有人说是因为阿里云关了25端口,但腾迅好像也关了. 百度看看有没有其他方法,最终让我找到个方法,可惜不是很完 ...

  6. Delphi阿里云邮件推送【支持单一发信、邮件批量发送和获取指定条件下的发送数据】

    作者QQ:(648437169) 点击下载➨Delphi阿里云邮件推送               阿里云api文档 [Delphi阿里云邮件推送]支持SingleSendMail(单一发信接口). ...

  7. SpringBoot 简易实现热搜邮件推送,妈妈再也不用担心我不了解国家大事了

    1.前言 上班的时候,无聊的时候,偶尔跑去百度看下热搜,所以就萌生出这种想法,通过邮件推送的方式实现效果,首先找到百度热搜的页面 热搜,话不多说,直接开干. 2.环境准备 因为是个SpringBoot ...

  8. jenkins持续集成Allure生成报表+邮件推送

    本次基于<jenkins 生成HTML报表,邮件推送>的基础上将生成HTML报表修改为Allure生成报表,可以参考官方文档:https://docs.qameta.io/allure/# ...

  9. MVC4/5+jquery+bootstrap样式+dataTables+linq+WCF+EF6后台和前台的框架集合!好蛋疼哦!数据库支持MYSQL 和MSSQL,oracle。集成腾讯企业邮箱收邮件同步用户SSO登陆等功能。

    花费了我好多心血,才做出来,下个项目准备用这个框架! 大家有没有做这方面的可以交流一下! 花费了我好多心血,才做出来,下个项目准备用这个框架! 大家有没有做这方面的可以交流一下! 花费了我好多心血,才 ...

随机推荐

  1. LDA线性分析推广到多分类

    感谢皮果提的文章: http://blog.csdn.net/itplus/article/details/12038441 http://blog.csdn.net/itplus/article 皮 ...

  2. IDEA版本控制工具VCS中使用Git,以及快捷键总结(不使用命令)

    场景介绍: 工作中多人使用版本控制软件协作开发,常见的应用场景归纳如下: 假设小组中有两个人,组长小张,组员小袁 场景一:小张创建项目并提交到远程Git仓库 场景二:小袁从远程Git仓库上获取项目源码 ...

  3. windows工程总结

    1.win32控制台console程序 运行在MS-DOS环境中的程序.控制台应用程序通常没有可视化的界面,只是通过字符串来显示或者监控程序.控制台程序常常被应用在测试.监控等用途,用户往往只关心数据 ...

  4. 【思考】为什么说Bagging减少variance,Boosting减少bias?(转载)

    具体讨论可见于此知乎问题,有很多种理解方向,甚至这一个命题可能本来就不成立!

  5. php+上传文件夹

    一提到大文件上传,首先想到的是啥??? 没错,就是修改php.ini文件里的上传限制,那就是upload_max_filesize.修改成合适参数我们就可以进行愉快的上传文件了.当然啦,这是一般情况下 ...

  6. .net断点续传

    IE的自带下载功能中没有断点续传功能,要实现断点续传功能,需要用到HTTP协议中鲜为人知的几个响应头和请求头. 一. 两个必要响应头Accept-Ranges.ETag 客户端每次提交下载请求时,服务 ...

  7. 在谷歌中缓存下载视频离线观看,js代码

    var download=function(urlInfo) { when(createFile(localFileName)) .then(function (fileInfo) { var dow ...

  8. 超详细的EM算法理解

    众所周知,极大似然估计是一种应用很广泛的参数估计方法.例如我手头有一些东北人的身高的数据,又知道身高的概率模型是高斯分布,那么利用极大化似然函数的方法可以估计出高斯分布的两个参数,均值和方差.这个方法 ...

  9. Ubuntu14.04中stopping log initial device creation错误或自动挂载错误失败(导致系统无法自动启动)

    出现问题的原因: 图一 出现问题的界面: 图二 按esc,无作用. 图三 按esc,按i,依然无作用. 图四 解决方法: (1)按esc,i无用,  在图2按s成功到登陆界面. (2)桌面修改为dis ...

  10. Guava源码阅读-base-CharMatcher

    package com.google.common.base; (部分内容摘自:http://blog.csdn.net/idealemail/article/details/53860439) 之前 ...