C# QQ & 163 邮件发送
这篇文章的目的并不是说明如果进行右键的发送,因为在.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和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 邮件发送的更多相关文章
- javamail发送邮件,支持yahoo,google,163.com,qq.com邮件发送
https://www.iteye.com/blog/fangyunfeng-1847352 https://blog.csdn.net/weixin_38465623/article/details ...
- asp.net 163邮件发送
<table id="> <tr> <td style="width: 393px"> 收信:<asp:TextBox ID=. ...
- Selenium+Python之163邮件发送
今晚写了一个163邮箱登录的脚本,由于不停的访问163登录主页导致直接访问163邮箱主页登录需要输入验证码,因为无法获取到验证码,就这导致直接访问主页登录脚本不可行,为了绕过验证码,现在先访问hao1 ...
- 技术笔记:Indy IdSMTP支持腾讯QQ邮箱邮件发送
1.腾讯QQ邮箱的授权码问题 因为腾讯邮箱折腾了个底朝天,其要搞什么授权码登录第三方客户端,否则会报这个错误: 'Error: 请使用授权码登录.详情请看: http://service.mail.q ...
- TP5实现邮件发送(PHP 利用QQ邮箱发送邮件「PHPMailer」)
在 PHP 应用开发中,往往需要验证用户邮箱.发送消息通知,而使用 PHP 内置的 mail() 函数,则需要邮件系统的支持. 如果熟悉 IMAP/SMTP 协议,结合 Socket 功能就可以编写邮 ...
- C# 如何实现邮件发送
调用发送 try { P2BEmail email = new P2BEmail(); email.fromEmail = txtfromEmail.Text; // QQ邮箱 email.fromP ...
- Django之邮件发送
settings.py #settings 添加如下配置进行邮件发送 #邮件服务器 EMAIL_HOST = "smtp.qq.com" #邮件发送的端口 EMAIL_PORT = ...
- php使用CI发送qq和163邮件
1.需求 发送邮件 2.介绍 使用CI框架的email类库发送邮件,这里演示QQ和163 3.163使用教程 a.先去163邮件开启smtp邮件. b.在CI的控制器里写下面的代码 $this-> ...
- java邮件发送 qq与163邮箱互发和qq和163邮箱发送其他邮箱实例
研究了近一天的时间,通过查阅相关资料,终于对java发送邮件的机制,原理有了一点点的理解,希望能够帮到大家! 1.首先要向你的项目里导入1个jar包:mail-1.4.4.jar即可(实现qq和163 ...
随机推荐
- js中, 用变量或对象作为if或其他条件的表达式
源: 因为js是弱语言, 就体现在js的变量是弱类型的, 在js中所有变量类型声明都用var, 而在其他强类型语言中,如java/c,必须有强制类型转换和类型检查才能编译通过等, 但是: 弱语言也有优 ...
- 需掌握 - JAVA算法编程题50题及答案
[程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? //这是一个菲波拉契数列问题publi ...
- day1 安装jdk8环境及第一个java程序
安装jdk8 第一步:下载jdk安装包,我们这里下载orical官网的jdk8版本.
- Linux Vim查找字符串
一.用/和?的区别:/后跟查找的字符串.vim会显示文本中第一个出现的字符串.?后跟查找的字符串.vim会显示文本中最后一个出现的字符串.二.注意事项:不管用/还是?查找到第一个字符串后,按回车,vi ...
- shiro权限框架(三)
三.身份验证 身份验证,即在应用中谁能证明他就是他本人.一般提供如他们的身份 ID 一些标识信息来表明他就是他本人,如提供身份证,用户名/密码来证明 在 shiro 中,用户需要提供 principa ...
- linux小白成长之路3————更新yum源
[内容指引] 进入目录:cd 查看目录下的内容:ls 重命名备份:mv 从网络下载:wget yum更新:yum update 第一次运行yum安装软件前,建议更新yum. 1.进入yum源目录 命令 ...
- JAVA连接SAP
1.首先需要在SAP事务码SE37中新建一个可以被远程调用的RFC 事务码:SE37 新建一个函数组:输入事务码SE37回车后,来到函数构建器屏幕,到上面一排菜单栏:转到 -> 函数组 -> ...
- nginx session 配置失效解决
nginx 反向代理后台web服务器session path导致的session 失效,特此总结下配置方法: 配置如下: location ^~ /2016tyjf_dev/djwechat { pr ...
- [高级软件工程教学]团队Beta阶段成绩汇总
一.作业地址: https://edu.cnblogs.com/campus/fzu/AdvancedSoftwareEngineering/homework/1501 二.Beta冲刺课堂答辩 1. ...
- python 之反射
通过字符串的形式导入模块 通过字符串的形式,去模块中寻找制定的函数,并执行getattr(模块名,函数名,默认值) 通过字符串的形式,去模块中设置东西setattr(模块名,函数名/变量名,lambd ...