C#中的SMTP配置Outlook.Com SMTP主机
如果你想以编程方式使用 Outlook.com或Gmail帐户作为 SMTP主机 发送电子邮件,也有为了得到这一切工作的几件事情要注意。
使用基本的System.Net.Mail库,发送电子邮件一般是相当简单的。不过,如果你想用你的Outlook.Com或 Gmail帐户 作为SMTP主机发送,您将最有可能需要采取一些额外的步骤,如果你有两个阶段授权启用(和你有两个阶段启用身份验证吧??!!)。
SMTP配置举例Outlook.Com SMTP主机
下面是一个基本类 SMPT配置 为使用Outlook.Com的SMTP发送邮件:
基本邮件配置设置Outlook.Com SMTP:
using System; / / 你将需要添加一个引用到这个库:
using System.Net.Mail; namespace SmtpMailConnections
{
public class OutlookDotComMail
{
string _sender = "";
string _password = "";
public OutlookDotComMail(string sender, string password)
{
_sender = sender;
_password = password;
} public void SendMail(string recipient, string subject, string message)
{
SmtpClient client = new SmtpClient("smtp-mail.outlook.com"); client.Port = 587;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.UseDefaultCredentials = false;
System.Net.NetworkCredential credentials =
new System.Net.NetworkCredential(_sender, _password);
client.EnableSsl = true;
client.Credentials = credentials; try
{
var mail = new MailMessage(_sender.Trim(), recipient.Trim());
mail.Subject = subject;
mail.Body = message;
client.Send(mail);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
throw ex;
}
}
}
}
正如你所看到的,我们一直保持这个相当小的清楚的目的。我们初始化我们的简单类的用户名(在本例中,我们Outlook.Com电子邮件地址)和密码。
我们可以调用这个类来发送邮件这样的(这个例子是一个简单的控制台应用程序):
发送邮件使用邮件发件人
class Program
{
static void Main(string[] args)
{
string mailUser = "YourAccount@outlook.com";
string mailUserPwd = "YourPassword"; var sender = new OutlookDotComMail(mailUser, mailUserPwd);
sender.SendMail("recipient@example.com", "Test Mail", "Hello!");
}
}
如果你运行上面的代码中,使用自己的Outlook.Com电子邮件地址和密码,都应该可以正常工作。
除非 您已启用了两级授权您Outlook.Com帐户。如果你有,你需要创建一个应用程序特定的密码,或当您的凭据是由Outlook.Com SMTP服务器 拒绝上述代码将抛出一个异常。
要创建一个应用程序专用密码,登录到您的Outlook.com帐户,并进入帐户设置- >安全资讯- >应用程序密码:

单击创建一个新的应用程序密码的链接,瞧 – 你现在有一个新的密码为你的应用程序中使用:

以此作为在代码中的密码,就可以成功了:
使用而不是你的Outlook.Com帐户密码的应用程序密码:
class Program
{
static void Main(string[] args)
{
string mailUser = "YourAccount@outlook.com";
string mailUserPwd = "bnppnnenfmpiixty"; var sender = new OutlookDotComMail(mailUser, mailUserPwd);
sender.SendMail("recipient@example.com", "Test Mail", "Hello!");
}
}
C#中的SMTP配置Outlook.Com SMTP主机的更多相关文章
- CentOS7 配置Mailx使用SMTP发送邮件
mail.mailx和sendmail介绍: mail是mailx的别名,最初叫nail(与arch linux目前用的S-nail基因相同):mail是Heirloom的一个子项目.sendmail ...
- opencart 3 配置阿里邮箱smtp实测可用
最近ytkah在做一个客户的opencart项目时,配置阿里邮箱smtp一直收不到邮件,修改了很多配置文件也不起作用,今天再继续调试终于成功了,下面把所有步骤都记录下来,希望能帮到碰到同样问题的朋友们 ...
- phpcms邮箱smtp配置163企业邮测试可用
前面我们给phpcms加了https,但是修改邮箱smtp配置一直提交不了,提示请填写接口地址,格式为:http://www.abc.com,结尾不包含"/",找了一下phpsso ...
- wordpress建站如何用SMTP配置邮件通知
前提条件:你已经有了企业邮箱,相关文章请看:如何开通阿里云企业邮箱免费版(点此前往) 不建议使用主机商提供的邮箱,因为换主机商是比较常见的事情,因此导致的邮箱迁移就有些麻烦了,不如一开始就选择独立的第 ...
- GitLab 7.5.3 CentOS7安装和SMTP配置
CentOS 7安装GitLab还是比較简单的,依照官方文档的提示一步一步操作下来.就一个地方须要改动. 參考:GitLab安装说明 在安装好以后,执行 gitlab-ctl reconfigure ...
- 配置Outlook Anywhere2010
防火墙只需要开放CAS的443端口,其他硬件防火墙也是如此,不需要开放其他额外端口(80也没有必要开通,如果都使用https的话) 1.CAS:服务器配置-申请证书(内部.外部CAS名称)2.CAS: ...
- log4net在Asp.net Mvc中的应用配置与介绍
log4net在.NET中的地位就不多言语了,此篇文章着重配置.较少介绍使用.因为在网上你可以在网上搜到几十万的文章告诉你怎么用.安装的话也不废话了,很简单.Nuget里搜索一下"log4n ...
- 加密web.config中的邮件配置mailSettings
加密: 在命令提示符下键入: aspnet_regiis -pef connectionStrings 要加密的web.config完整路经 演示样例:C:\Program Files (x86)\M ...
- WCF学习之旅—WCF4.0中的简化配置功能(十五)
六 WCF4.0中的简化配置功能 WCF4.0为了简化服务配置,提供了默认的终结点.绑定和服务行为.也就是说,在开发WCF服务程序的时候,即使我们不提供显示的 服务终结点,WCF框架也能为我们的服务提 ...
随机推荐
- malloc和realloc
malloc函数: extern void *malloc(unsigned int num_bytes); malloc 向系统申请分配指定size个字节的内存空间. 如果分配成功则返回指向被分配内 ...
- 部分城市关于.Net招聘数量
2016-12-09更新统计数据 上海 10730 北京 6322 广州 4157 深圳 3548 成都 2291 重庆 706 厦门 285 2015-01-30日,前程无忧搜索".Net ...
- Spring Boot初步认识
Spring Boot 来源及背后 Spring Boot开发始于 2013 年,伴随Spring4.0而生,2014 年 4 月发布 1.0.0 版本.当前版本1.4.0,http://projec ...
- 判断客户端是iPad、安卓还是ios
武穆逸仙 有人心疼时,眼泪才是眼泪,否则只是带着咸味的液体:被人呵护着,撒娇才是撒娇,要不然就是作死. 努力做一个可爱的人,不埋怨谁,不嘲笑谁,也不羡慕谁,阳光下灿烂,风雨中奔跑,做自己的梦,走自己的 ...
- GB2312/ANSI编码转中文字符
struct GB2312{ unsigned short gb2312code; CString ChineseCode;}GB2312ToChinese[] = {{0xA1A ...
- 关于.c和.h 和定义变量的问题
最初调试的时候是因为有个错误在wavplay.h文件中 于是我跳到了recorderl.h中:从图中看到引用了main.h 出现这个问题的具体原因还是不太清楚: 不过我任务是因为: wavplay.h ...
- [Recompose] Add Local State to a Functional Stateless Component using Recompose
Learn how to use the 'withState' and 'withHandlers' higher order components to easily add local stat ...
- 用Apache Ivy实现项目里的依赖管理 分类: C_OHTERS 2014-07-06 18:11 564人阅读 评论(0) 收藏
Apache Ivy是一个管理项目依赖的工具. 它与Maven Apache Maven 构建管理和项目管理工具已经吸引了 Java 开发人员的注意.Maven 引入了 JAR 文件公共存储库的概念 ...
- html css div img垂直居中
<head> <meta charset="UTF-8"> <meta name="Generator" content=&quo ...
- 【40.17%】【codeforces 569B】Inventory
time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard ou ...