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-proxy.tm.net.my"
をインターネット サービス プロバイダー (ISP) の SMTP サーバー アドレスに置き換えます。"[email protected]"
を電子メール アドレスに置き換え、"myIDPassword"
を電子メール パスワードに置き換えます。 強力なパスワードを使用し、利用可能な場合はより安全な認証方法を検討してください。smtpClient.EnableSsl = true;
は、SMTP サーバーが必要とする場合に安全な通信を保証します。 ISP の SMTP 設定を確認してください。MailAddress
、From
、および To
に CC
を使用すると、エラー処理が向上し、明確になります。プレースホルダーの値を実際の SMTP サーバーの詳細と認証情報に置き換えることを忘れないでください。 常に安全なコーディングの実践を優先し、資格情報を保護してください。
以上がASP.NET C# で電子メールを正常に送信するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。