这篇文章的目的并不是说明如果进行右键的发送,因为在.net 坝坝的怀抱下邮件发送的功能实现并不会很难,当然邮件发送的代码,还是会贴上的,昨天在写一个邮件发送的功能,我直接找到了原来的代码,想着直接就可以运行了,但是真正情况并非如此,遇到了很多报错,这里做个说明。

测试中出现了如下的报错:

  163 

1.不允许使用邮箱名称。 服务器响应为:authentication is required,163 smtp14,EsCowACHqdDTBdBay0PiEw--.39304S3 1523582420

       2.邮箱不可用。 服务器响应为:User has no permission

         3.事务失败。 服务器响应为:DT:SPM 163 smtp13,EcCowAAHf28_ENBawarsDQ--.43148S3 1523585089,please see http://mail.163.com/help/help_spam_16.htm?ip=xx.xx.xx.xx&hostid=smtp13&time=1523585089

         QQ 

         通过QQ发邮件基本没有什么大的问题,可以成功,当然这一切的大的问题都是由于现在的qq和163都开始使用授权码,what? 什么意思了,意思就是原来通过邮箱帐号,密码然后发送右键的方式用不了了,所以这也就是为什么我原先的代码用不了。

如果开启所谓的授权码呢?

163:

163现在开启POP3/SMTP服务的时候已经做了说明,如上“请使用授权码登录第三方右键客户端”

          

如上开启授权码即可,请牢记自己的授权码

QQ:

如上,qq的smtp服务开启与获取授权码

下面开始贴发送的代码:

    public class EmalHelper
{
/// <summary>
/// SMTP实例
/// </summary>
static System.Net.Mail.SmtpClient client = null; /// <summary>
/// 发送信息
/// </summary>
/// <param name="Receiver">邮件接收人</param>
/// <param name="Subject">邮件主题</param>
/// <param name="content">邮件内容</param>
public static void SendEmail(string Receiver, string Subject, string content)
{
if (string.IsNullOrEmpty(Receiver) || string.IsNullOrEmpty(Subject)
|| string.IsNullOrEmpty(content))
{
throw new ArgumentNullException("SendEmail参数空异常!");
}
if (client == null)
{
try
{
//163发送配置
client = new System.Net.Mail.SmtpClient();
client.Host = "smtp.163.com";
client.Port = ;
client.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
client.EnableSsl = true;
client.UseDefaultCredentials = true; //qq发送配置的参数//切EnableSsl必须设置为true
//client = new System.Net.Mail.SmtpClient();
//client.Host = "smtp.qq.com";
//client.Port = 25;
//client.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
//client.EnableSsl = true;
//client.UseDefaultCredentials = false; client.Credentials = new System.Net.NetworkCredential("邮箱帐号@xx.com", "授权码");
}
catch (Exception ex)
{
throw ex;
}
}
try
{
System.Net.Mail.MailMessage Message = new System.Net.Mail.MailMessage();
Message.SubjectEncoding = System.Text.Encoding.UTF8;
Message.BodyEncoding = System.Text.Encoding.UTF8;
Message.Priority = System.Net.Mail.MailPriority.High; Message.From = new System.Net.Mail.MailAddress("邮箱帐号@xx.com", "张三");
//添加邮件接收人地址
string[] receivers = Receiver.Split(new char[] { ',' });
Array.ForEach(receivers.ToArray(), ToMail => { Message.To.Add(ToMail); }); Message.Subject = Subject;
Message.Body = content;
Message.IsBodyHtml = true;
client.Send(Message);
}
catch (Exception ex)
{
throw ex;
}
}
}

上面的邮箱帐号正常输入,后面必须填写授权码,否则就会提示, 不允许使用邮箱名称。 服务器响应为:authentication is required,163 smtp13,EcCowACXmXrVFtBa20jvDQ--.25857S3 1523586773

如果用户没有开启授权码,还是原先的用户密码的方式,邮箱不可用。 服务器响应为:User has no permission

  服务器响应为:DT:SPM 163 smtp13,EcCowAAHf28_ENBawarsDQ--.43148S3 1523585089,please see http://mail.163.com/help/help_spam_16.htm?ip=xx.xx.xx.xx&hostid=smtp13&time=1523585089 这是第三个错误,因为邮件被拦截导致,你的右键标题和内容要正规,我做了个测试 右键的标题为 “title” 报错,改为“工作汇报”,邮件发送成功,而且这个错误还跟天气有关,开个玩笑,有时候就是莫名其妙的出现,一会就好了

C# QQ & 163 邮件发送的更多相关文章

  1. javamail发送邮件,支持yahoo,google,163.com,qq.com邮件发送

    https://www.iteye.com/blog/fangyunfeng-1847352 https://blog.csdn.net/weixin_38465623/article/details ...

  2. asp.net 163邮件发送

    <table id="> <tr> <td style="width: 393px"> 收信:<asp:TextBox ID=. ...

  3. Selenium+Python之163邮件发送

    今晚写了一个163邮箱登录的脚本,由于不停的访问163登录主页导致直接访问163邮箱主页登录需要输入验证码,因为无法获取到验证码,就这导致直接访问主页登录脚本不可行,为了绕过验证码,现在先访问hao1 ...

  4. 技术笔记:Indy IdSMTP支持腾讯QQ邮箱邮件发送

    1.腾讯QQ邮箱的授权码问题 因为腾讯邮箱折腾了个底朝天,其要搞什么授权码登录第三方客户端,否则会报这个错误: 'Error: 请使用授权码登录.详情请看: http://service.mail.q ...

  5. TP5实现邮件发送(PHP 利用QQ邮箱发送邮件「PHPMailer」)

    在 PHP 应用开发中,往往需要验证用户邮箱.发送消息通知,而使用 PHP 内置的 mail() 函数,则需要邮件系统的支持. 如果熟悉 IMAP/SMTP 协议,结合 Socket 功能就可以编写邮 ...

  6. C# 如何实现邮件发送

    调用发送 try { P2BEmail email = new P2BEmail(); email.fromEmail = txtfromEmail.Text; // QQ邮箱 email.fromP ...

  7. Django之邮件发送

    settings.py #settings 添加如下配置进行邮件发送 #邮件服务器 EMAIL_HOST = "smtp.qq.com" #邮件发送的端口 EMAIL_PORT = ...

  8. php使用CI发送qq和163邮件

    1.需求 发送邮件 2.介绍 使用CI框架的email类库发送邮件,这里演示QQ和163 3.163使用教程 a.先去163邮件开启smtp邮件. b.在CI的控制器里写下面的代码 $this-> ...

  9. java邮件发送 qq与163邮箱互发和qq和163邮箱发送其他邮箱实例

    研究了近一天的时间,通过查阅相关资料,终于对java发送邮件的机制,原理有了一点点的理解,希望能够帮到大家! 1.首先要向你的项目里导入1个jar包:mail-1.4.4.jar即可(实现qq和163 ...

随机推荐

  1. Idea中开启assert断言

    先打开相应的配置面板,有以下两种方式.   然后在VM栏里输入 -enableassertions 或者 -ea 就好了 然后编写程序试试 我的目录结构如下:(因为Main class那里要写类的全限 ...

  2. 学习JAVA的几大优处

    首先:简单:我们都知道Java是目前使用较为广泛的网络编程语言之一.他容易学而且很好用,如果你学习过C++语言,你会觉得C++和 Java很像,因为Java中许多基本语句的语法和C++一样,像常用的循 ...

  3. python安装第三方库

    在编写爬虫程序时发现unsolved import 一时不解,以为是ide出问题了,其实是没有安装第三方库导致的. 于是到https://pypi.python.org/pypi/requests/去 ...

  4. MongoDb进阶实践之二 如何在Windows上配置MongoDB

    一.引言            上一篇文章,我介绍了如何在Linux系统上安装和配置MongoDB,其实都不是很难,不需要安装和编译,省去了Make && Make Install 命 ...

  5. TPYBoard v102 DIY照相机(视频和制作流程)

    前段时间的帖子,利用TPYBoard v102做的DIY照相机,周末实物终于做出来了,加了两个按键模块和一个5110,做的有点糙啊----望大家勿怪,哈哈哈.拍出来图片还算清晰,串口摄像头模块用的30 ...

  6. ELK学习笔记(五)简单搜索和DSL查询

    检索文档 现在我们有一些数据存储在Elasticsearch中,我们可以开始处理这个应用程序的业务需求. 这在Elasticsearch中很容易.我们只需执行HTTP GET请求并指定文档的地址--索 ...

  7. DB2开发系列之三——SQL函数

    1.内置函数分类(SYSIBM模式内) 1)标量函数:返回一个标量值的函数: 2)聚合函数:也叫列函数,也返回一个标量值,这个值是一组输入值的计算结果:3)表函数:向引用它的 SQL 语句返回一个表: ...

  8. JAVA关于一些变量的技巧

    如果一个变量的值不变,而且他还要被多次用到 另建一个类,把变量定义到里面   注意  private static      public class JexlConfig {     private ...

  9. springMVC框架+POI组件导出Excel

    目的:访问url(http://localhost:8080/POIOutputExcel/outputexcel.do)实现excel导出,效果图如下: 文件目录(配置文件就不多说了,跟前面的随笔一 ...

  10. String s=new String("abc")创建了几个对象?

    String str=new String("abc");   紧接着这段代码之后的往往是这个问题,那就是这行代码究竟创建了几个String对象呢? 答案应该是1个或者2个. 1个 ...