Maison >développement back-end >C++ >Comment puis-je envoyer avec succès des e-mails via le serveur SMTP de Gmail à l'aide de C #?

Comment puis-je envoyer avec succès des e-mails via le serveur SMTP de Gmail à l'aide de C #?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-31 19:16:10885parcourir

How Can I Successfully Send Emails via Gmail's SMTP Server Using C#?

En utilisant C # pour envoyer un e-mail via Gmail SMTP Server

Dans cet article, nous abordons un problème soulevé par les développeurs rencontrant des difficultés tout en tentant d'envoyer Email via le serveur SMTP de Gmail à l'aide de C #. Nous présentons une solution et démontrons pourquoi des approches alternatives peuvent ne pas fonctionner.

Problème

malgré la réponse acceptée et l'exploration d'autres suggestions dans un fil précédent intitulé "Envoi de l'e-mail Dans .NET via Gmail, "les utilisateurs continuent de faire face à des problèmes. Lors de l'utilisation de l'extrait de code en utilisant SMTPDeliveryMethod.Network, un SMTPException survient pendant Send (message), accompagné d'un message d'erreur indiquant "le serveur SMTP nécessite une connexion sécurisée ou le client n'a pas été authentifié."

ou le client n'a pas été authentifié. "

ou le client n'a pas été authentifié."

ou le client n'a pas été authentifié ". Pourquoi les approches précédentes peuvent ne pas fonctionner

Le problème peut provenir du fait que Gmail est connu pour modifier ses paramètres de messagerie. Pour résoudre le problème, les utilisateurs doivent s'assurer qu'ils utilisent une connexion sécurisée et authentifie le client avant de tenter d'envoyer des e-mails.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net.Mail;
using System.Net;

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            var client = new SmtpClient("smtp.gmail.com", 587)
            {
                Credentials = new NetworkCredential("[email protected]", "mypwd"),
                EnableSsl = true
            };
            client.Send("[email protected]", "[email protected]", "test", "testbody");
            Console.WriteLine("Sent");
            Console.ReadLine();
        }
    }
}

Solution

L'énippet de code mis à jour suivant aborde le problème en configurant explicitement une connexion sécurisée et en fournissant des informations d'identification de l'utilisateur pour l'authentification:
  • Considérations supplémentaires
En 2021, Google a introduit une exigence Pour activer l'accès pour des "applications moins sécurisées" dans les paramètres GMail. Cette étape est nécessaire pour éviter de rencontrer un message d'erreur d'authentification. Si le code fonctionne pour certains utilisateurs mais pas d'autres, il est recommandé de revoir l'implémentation du code spécifique et de s'assurer que tous les paramètres nécessaires sont correctement configurés.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn