トラブルシューティング.NET Gmail SMTP電子メールの送信問題

多くの開発者は、.NETを使用してGmailのSMTPサーバーを介して電子メールを送信する問題に遭遇します。 このガイドは、ソリューションと作業コードの例を提供します
一般的なエラー: "SMTPサーバーには安全な接続が必要です。または、クライアントが認証されていません。
このエラーは、Gmail SMTPサーバーに認証と安全な接続が必要であることを示しています。
動作コードの例:
このC#コードスニペットは、GmailのSMTPサーバーを介して送信する電子メールを成功させます:
重要なメモ(2021以降):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | using System;
using System.Net;
using System.Net.Mail;
namespace EmailSender
{
class Program
{
static void Main(string[] args)
{
var client = new SmtpClient( "smtp.gmail.com" , 587)
{
Credentials = new NetworkCredential( "[your_email@gmail.com]" , "[your_password]" ),
EnableSsl = true
};
var message = new MailMessage
{
From = new MailAddress( "[your_email@gmail.com]" ),
To = { new MailAddress( "[recipient_email@example.com]" ) },
Subject = "Test Email" ,
Body = "Test email body"
};
try
{
client.Send(message);
Console.WriteLine( "Email sent successfully!" );
}
catch (Exception ex)
{
Console.WriteLine($ "Error sending email: {ex.Message}" );
}
Console.ReadLine();
}
}
}
|
ログイン後にコピー
このコードが正しく機能するためには、Gmailセキュリティ設定で「より安全性の低いアプリ」アクセスを有効にする必要があります。 この設定は、https://www.php.cn/link/380714d486fbd50c0c9dfc7e4d8be9f7
にあります。 このステップは、「5.5.1認証が必要」などの認証エラーを防ぐために重要です。 通常のパスワードではなく、強化されたセキュリティのためにアプリパスワードを使用することを検討してください。
、、などのプレースホルダーを、実際の資格情報と受信者のメールアドレスに置き換えることを忘れないでください。 問題が発生し続ける場合は、Gmailの設定を再確認し、ファイアウォールが発信SMTP接続をブロックしていないことを確認してください。
以上が.NET Gmail SMTP電子メールの送信コードが機能しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。