1. ホーム
  2. c#

C#でSMTPを認証させる方法

2023-07-24 11:12:44

質問

メッセージを送信するためにSMTPを使用する新しいASP.NETウェブアプリケーションを作成しました。問題は、SMTPがメッセージを送信した人から認証されていないことです。

C# には、ユーザー名とパスワードを入力するための属性を持つクラスがありますか。

どのように解決するのですか?

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("[email protected]"); 

        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 = "<h1>your message body</h1>";
        message.To.Add("[email protected]"); 

        try
        {
            smtpClient.Send(message);
        }
        catch(Exception ex)
        {
            //Error, could not send the message
            Response.Write(ex.Message);
        }
    }
}

上記のコードを使用してもかまいません。