ホームページ >バックエンド開発 >C++ >ASP.NET C# で電子メールを正常に送信するにはどうすればよいですか?

ASP.NET C# で電子メールを正常に送信するにはどうすればよいですか?

DDD
DDDオリジナル
2025-01-17 15:42:15479ブラウズ

How to Successfully Send Emails in ASP.NET C#?

ASP.NET C# を使用して電子メールを正常に送信しました

チャレンジ:

新しい ASP.NET C# 開発者は、電子メールの送信で問題が発生することがよくあります。 一般的な問題は、SMTP サーバーの構成と認証が正しくないことが原因で発生します。

初期コード (およびその欠点):

次のコード スニペットは、失敗した典型的な試行を示しています。

<code class="language-csharp">MailMessage mailObj = new MailMessage(
    txtFrom.Text, txtTo.Text, txtSubject.Text, txtBody.Text);
SmtpClient SMTPServer = new SmtpClient("127.0.0.1");
try
{
    SMTPServer.Send(mailObj);
}
catch (Exception ex)
{
    Label1.Text = ex.ToString();
}</code>

このコードはローカルホスト SMTP サーバー (「127.0.0.1」) を使用しており、適切な認証の詳細が欠如しているため、失敗します。

修正コード:

修正された実装は次のとおりです:

<code class="language-csharp">SmtpClient smtpClient = new SmtpClient("smtp-proxy.tm.net.my", 25);
smtpClient.Credentials = new System.Net.NetworkCredential("[email protected]", "myIDPassword");
smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
smtpClient.EnableSsl = true;
MailMessage mail = new MailMessage();

// Setting Sender, Recipient, and CC
mail.From = new MailAddress("info@MyWebsiteDomainName.com", "MyWeb Site");
mail.To.Add(new MailAddress("info@MyWebsiteDomainName.com"));
mail.CC.Add(new MailAddress("[email protected]"));

smtpClient.Send(mail);</code>

主な改善点:

  • 正しい SMTP サーバー: "smtp-proxy.tm.net.my" をインターネット サービス プロバイダー (ISP) の SMTP サーバー アドレスに置き換えます。
  • 認証: "[email protected]" を電子メール アドレスに置き換え、"myIDPassword" を電子メール パスワードに置き換えます。 強力なパスワードを使用し、利用可能な場合はより安全な認証方法を検討してください。
  • SSL 暗号化: smtpClient.EnableSsl = true; は、SMTP サーバーが必要とする場合に安全な通信を保証します。 ISP の SMTP 設定を確認してください。
  • 明示的な MailAddress オブジェクト: MailAddressFrom、および ToCC を使用すると、エラー処理が向上し、明確になります。

プレースホルダーの値を実際の SMTP サーバーの詳細と認証情報に置き換えることを忘れないでください。 常に安全なコーディングの実践を優先し、資格情報を保護してください。

以上がASP.NET C# で電子メールを正常に送信するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。