当前位置:  开发笔记 > 编程语言 > 正文

如何在C#中进行SMTP身份验证

如何解决《如何在C#中进行SMTP身份验证》经验,为你挑选了3个好方法。

我创建了使用SMTP发送消息的新ASP.NET Web应用程序.问题是smtp没有通过谁发送消息进行身份验证.

如何在程序中对SMTP进行身份验证?C#有一个具有输入用户名和密码属性的类吗?



1> Arief..:
using System.Net;
using System.Net.Mail;

using(SmtpClient smtpClient = new SmtpClient())
{
    var basicCredential = new NetworkCredential("username", "password"); 
    using(MailMessage message = new MailMessage())
    {
        MailAddress fromAddress = new MailAddress("from@yourdomain.com"); 

        smtpClient.Host = "mail.mydomain.com";
        smtpClient.UseDefaultCredentials = false;
        smtpClient.Credentials = basicCredential;

        message.From = fromAddress;
        message.Subject = "your subject";
        // Set IsBodyHtml to true means you can send HTML email.
        message.IsBodyHtml = true;
        message.Body = "

your message body

"; message.To.Add("to@anydomain.com"); try { smtpClient.Send(message); } catch(Exception ex) { //Error, could not send the message Response.Write(ex.Message); } } }

您可以使用上面的代码.


它们是您的电子邮件地址和密码,mail.mydomain.com是您的SMTP服务器(例如smtp.gmail.com).

2> Joe King..:

确保SmtpClient.Credentials 通话设置SmtpClient.UseDefaultCredentials = false.

顺序很重要,因为设置SmtpClient.UseDefaultCredentials = false将重置SmtpClient.Credentials为null.



3> OJ...:

在发送消息之前设置Credentials属性.

推荐阅读
Gbom2402851125
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有