.Net使用163smtp发送邮件时错误:邮箱不可用. has no permission解决方法
C#实现简单邮件发送代码如下
public static void SendAsync(string emailTo, string subject, string mailBody)
{
var msg = new MailMessage();
msg.To.Add(emailTo);
//
msg.From = new MailAddress(_userNameForEmail, "显示的发件人名称", System.Text.Encoding.UTF8);
msg.Subject = subject;//邮件标题
msg.SubjectEncoding = System.Text.Encoding.UTF8;
msg.Body = mailBody;//邮件内容
msg.BodyEncoding = System.Text.Encoding.UTF8;
msg.IsBodyHtml = false;
msg.Priority = MailPriority.High;//邮件优先级
//
var client = new SmtpClient();
client.UseDefaultCredentials = false;
client.Credentials = new NetworkCredential(_userNameForEmail, _passwordForEmail);
//
client.Host = _smtpHost;
try
{
//简单一点儿可以client.Send(msg);
client.Send(msg);
//Task.Factory.StartNew(() =>
//{
// client.Send(msg);
//});
//client.SendAsync(msg, userState); }
catch (SmtpException ex)
{
log.Error(ex);
throw ex;
}
}
当传入发送邮箱正确的用户名和密码时,总是收到到:邮箱不可用. has no permission 这样的错误,英文错误为:Mailbox unavailable. The server response was: User has no permission。
其实我们用.Net发送邮件时相当于自定义客户端根据用户名和密码进行登录,然后使用SMTP服务发送邮件。但新注册的163邮件默认是不开启客户端授权验证的(对自定的邮箱大师客户端默认开启),
因此登录总是会被拒绝,验证没有权限。解决办法是进入163邮箱,进入邮箱中心——客户端授权密码,选择开启即可,如下截图

设置完毕后,在代码中用使用客户端授权密码代替原始的邮箱密码,这样就可以正确的发送邮件了。
.Net使用163smtp发送邮件时错误:邮箱不可用. has no permission解决方法的更多相关文章
- 使用AFNetworking 2.0 请求数据时出现错误 Request failed: unacceptable content-type: text/html 解决方法
使用AFNetworking 2.0 请求数据时出现错误 Request failed: unacceptable content-type: text/html 解决方法 添加一行 manager. ...
- 动态调用webservice时 ServiceDescriptionImporter类在vs2010无法引用的解决方法
[导读]ServiceDescriptionImporter是创建Web Service 时使用的类,它是引用继承System.Web.Services 当我将VS2005里写的一段代码放在VS201 ...
- extjs folder is lost解决方法 和 FineUI主题切换时 iframe内的内容主题不变的解决方法
错误原因:extjs包和FineUI版本不一致 或者是 webconfig配置中 没有设置为任何人可访问 解放方法下载和FineUI版本相同的extjs包就ok了 解决方法:FineUI主题切换时 ...
- SqlBulkCopy批量插入数据时,不执行触发器和约束的解决方法
原文:SqlBulkCopy批量插入数据时,不执行触发器和约束的解决方法 在new SqlBulkCopy对象的时候,设置一下SqlBulkCopyOptions选项即可,按位或运算 SqlBulkC ...
- Maven错误:XXX时出错; invalid LOC header (bad signature)的解决方法
错误原因是该包没下载成功,比如网络问题等因素. 解决方法:进入本地仓库删除该包,然后再执行打包或部署等操作即可.
- 【转】android错误 aapt.exe已停止工作的解决方法
http://www.jb51.net/article/57420.htm 在使用eclipse进行安卓java的编程的时候,有时候我们会遇到这样的问题:那就是无故弹出aapt.exe停止工作的提示, ...
- 编译安装php时提示Cannot find MySQL header files的解决方法
php的配置文件中有一行--with-mysql=/usr/local/mysql ,安装的时候提示:configure: error: Cannot find MySQL header files ...
- Win7 IIS配置 applicationHost.config 错误:无法识别的特性“setProfileEnvironment” 解决方法
Win7下配置IIS时容易出现这样的错误提示:这是百度知道上面另一个人提问的图,我的显示行号133 解决方法: 到C:\inetpub\history中找到最近一次的applicationHost.c ...
- Jenkins打包安卓时提示没同意constraintLayout的license的解决方法
使用Jenkins打包安卓项目时,报错并失败,错误信息: You have not accepted the license agreements of the following SDK compo ...
随机推荐
- 微信支付开发 c# SDK JSAPI支付开发的流程和微信大坑
微信支付开发流程 1. 开通微信支付功能 省略 2. 下载微信的C#版的微信SDK 下载连接:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chap ...
- Netty 接受请求过程源码分析 (基于4.1.23)
前言 在前文中,我们分析了服务器是如何启动的.而服务器启动后肯定是要接受客户端请求并返回客户端想要的信息的,否则要你服务器干啥子呢?所以,我们今天就分析分析 Netty 在启动之后是如何接受客户端请求 ...
- c#FTP应用---windows iis
一.什么是FTP FTP(File Transfer Protocol)是TCP/IP网络上两台计算机传送文件的协议,使得主机间可以共享文件. 二.搭建前期准备 1.首先打开控制面板找到“程序”点击打 ...
- 【转】.NET NPOI操作Excel常用函数
最近因项目接触了NPOI,感觉还是蛮不错的,网络上的教程普遍版本较老,本篇记录所常用操作,采用NPOI 2.0版本. 推荐: NPOI官方网站 NPOI 1.2.4/1.2.5 官方教程 新建Exce ...
- [android] 切换按钮-自定义控件-拖动效果
重写View的onTouchEvent()方法,传递进来MotionEvent对象 调用MotionEvent对象的getAction()方法,获取当前动作 switch判断一下当前动作 事件为Mot ...
- java设计模式-----21、备忘录模式
概念: Memento模式也叫备忘录模式又叫做快照模式(Snapshot Pattern)或Token模式,是GoF的23种设计模式之一,属于行为模式,它的作用是保存对象的内部状态,并在需要的时候(u ...
- LOJ#6085. 「美团 CodeM 资格赛」优惠券(set)
题意 题目链接 Sol 考虑不合法的情况只有两种: 进去了 再次进去 没进去 但是出来了 显然可以用未知记录抵消掉 直接开个set维护一下所有未知记录的位置 最优策略一定是最后一次操作位置的后继 同时 ...
- 【CLR Via C#】2 程序集
1 定义: 程序集是net 应用程序的部署单元,是组件服用,以及实施安全策略和版本策略的最小单元. 程序集是包含一个或者多个类型定义文件和资源的集合 本地dll或exe与程序集不同 ...
- 安装 Java 开发工具包JDK(Windows版本)
前言: 进行java开发,首先要安装jdk,安装完成之后,还需要进行环境变量配置,以下就介绍一下具体步骤 具体步骤: 1.进入官网(https://www.oracle.com/technetwork ...
- JDK7下VisualVm插件无法链接到插件中心
VisualVM 是一款免费的,集成了多个 JDK 命令行工具的可视化工具,它能为您提供强大的分析能力,对 Java 应用程序做性能分析和调优.这些功能包括生成和分析海量数据.跟踪内存泄漏.监控垃 ...