• 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帐户,并进入帐户设置- >安全资讯- >应用程序密码

    1

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

    2

    以此作为在代码中的密码,就可以成功了:

    使用而不是你的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!");
        }
    }
  • 相关阅读:
    【科创人独家】科界CTO林镇南:言必真,行必果,没有尽力而为,只有全力以赴
    【科创人+极客邦科技】百企贡献资源,携手抗击疫情
    【科创人新春篇】创投圈人脉王吴世春:肺炎,Long China,精益创业,回归听云…
    SAP QM 在Quality Notification里维护Internal Note
    地摊重现江湖,疫情带给我们的意外收获
    SAP QM Quality Notification的凭证流
    SAP QM 如何将一个附件挂在一个Quality Notification单据上?
    K项目轶事之被客户通报批评
    SAP MM VL34事务代码批量创建Inbound Delivery
    城市的房价稳定,就能不断吸引人才?
  • 原文地址:https://www.cnblogs.com/jameslif/p/3737145.html
Copyright © 2020-2023  润新知