Connectez-vous aux serveurs SMTP à l'aide de C#

Simple Mail Transfer Protocol (SMTP) est le protocole de messagerie le plus couramment utilisé qui traite de l’envoi de messages électroniques des applications clientes au serveur de messagerie. Dans divers cas, les clients de messagerie sont implémentés dans des applications .NET afin d’envoyer des e-mails via SMTP. Pour de tels scénarios, cet article explique comment se connecter à un serveur SMTP par programmation à l’aide de C#. De plus, les exemples de code montrent comment envoyer un e-mail via le client SMTP après l’établissement de la connexion.

API C# pour connecter le serveur SMTP

Aspose.Email for .NET est une API C# conçue pour créer de puissantes applications client de messagerie. L’API permet d’effectuer assez facilement des opérations de messagerie complexes en quelques lignes de code. De plus, il vous permet de connecter des serveurs SMTP via SOCKS et des serveurs proxy HTTP. Vous pouvez soit télécharger la DLL de l’API, soit l’installer à l’aide de NuGet.

PM> Install-Package Aspose.Email

Connectez-vous au serveur SMTP à l’aide de C#

Avant de vous connecter à un serveur SMTP, vous devez connaître les éléments suivants.

  • Nom d’utilisateur
  • Mot de passe
  • Port

Une fois que vous les avez, vous pouvez configurer le client SMTP en procédant comme suit.

L’exemple de code suivant montre comment configurer l’API pour une connexion SMTP en C#.

// Pour des exemples complets et des fichiers de données, rendez-vous sur https://github.com/aspose-email/Aspose.Email-for-.NET
SmtpClient client = new SmtpClient("smtp.gmail.com");

// Définir le nom d'utilisateur, le mot de passe, le port et les options de sécurité
client.Username = "your.email@gmail.com";
client.Password = "your.password";
client.Port = 587;
client.SecurityOptions = SecurityOptions.SSLExplicit;

Une fois que vous avez configuré l’API, vous pouvez vous connecter à un serveur SMTP en utilisant l’une des options suivantes.

Connectez-vous à SMTP via le serveur proxy SOCKS en C#

Aspose.Email prend en charge les versions 4, 4a et 5 du protocole proxy SOCKS. Voici les étapes pour se connecter à un serveur SMTP via un serveur proxy SOCKS en utilisant Aspose.Email for .NET.

  • Initialisez SmtpClient avec l’adresse de l’hôte, le nom d’utilisateur, le mot de passe et d’autres paramètres.
  • Créez un objet de la classe SocksProxy et définissez l’adresse et le port.
  • Définissez le proxy du client à l’aide de la propriété SmtpClient.Proxy.
  • Envoyez un e-mail à l’aide de la méthode SmtpClient.Send().

L’exemple de code suivant montre comment se connecter à un serveur SMTP via le proxy SOCKS à l’aide de C#.

// Pour des exemples complets et des fichiers de données, rendez-vous sur https://github.com/aspose-email/Aspose.Email-for-.NET
SmtpClient client = new SmtpClient("smtp.domain.com", "username", "password");
client.SecurityOptions = SecurityOptions.SSLImplicit;
string proxyAddress = "192.168.203.142"; // proxy address
int proxyPort = 1080; // proxy port
SocksProxy proxy = new SocksProxy(proxyAddress, proxyPort, SocksVersion.SocksV5);
client.Proxy = proxy;
client.Send(new MailMessage("sender@domain.com", "receiver@domain.com", "Sending Email via proxy", "Implement socks proxy protocol for versions 4, 4a, 5 (only Username/Password authentication)"));

Connectez-vous au serveur SMTP via le serveur proxy HTTP

Voici les étapes pour se connecter à un serveur SMTP via un serveur proxy HTTP.

  • Créez une instance de la classe HttpProxy et initialisez-la avec l’adresse IP et le numéro de port.
  • Créez et configurez l’objet SmtpClient.
  • Définissez le proxy HTTP à l’aide de la propriété SmtpClient.Proxy.
  • Envoyez un e-mail à l’aide de la méthode SmtpClient.Send().

L’exemple de code suivant montre comment se connecter à un serveur SMTP via un serveur proxy HTTP.

// Pour des exemples complets et des fichiers de données, rendez-vous sur https://github.com/aspose-email/Aspose.Email-for-.NET
HttpProxy proxy = new HttpProxy("18.222.124.59", 8080);
using (SmtpClient client = new SmtpClient("host", 587, "username", "password"))
{
    client.Proxy = proxy;
    client.Send(new MailMessage(
        "from@domain.com",
        "to@domain.com",
        "NETWORKNET-34226 - " + Guid.NewGuid().ToString(),
        "NETWORKNET-34226 Implement socks proxy protocol for versions 4, 4a, 5 (only Username/Password authentication)"));
}

Obtenez une licence API gratuite

Vous pouvez essayer d’utiliser gratuitement Aspose.Email for .NET en obtenant une licence temporaire.

Conclusion

Dans cet article, vous avez appris à vous connecter à un serveur SMTP à l’aide de C#. De plus, le guide étape par étape et les exemples de code ont montré comment se connecter au serveur SMTP via les serveurs proxy SOCKS et HTTP. Vous pouvez en savoir plus sur l’API de messagerie C# à l’aide de documentation.

Voir également