Connectez-vous au serveur SMTP à l'aide de Java

Le SMTP est un protocole de messagerie couramment utilisé pour envoyer des e-mails des applications clientes aux serveurs de messagerie. Avant de communiquer avec un serveur SMTP, vous devez établir une connexion. Dans cet article, vous apprendrez à vous connecter à un serveur SMTP par programmation à l’aide de Java. De plus, l’article expliquera comment se connecter aux serveurs SMTP via SOCKS ou des proxies HTTP.

API Java pour se connecter au serveur SMTP

Afin de se connecter à un serveur SMTP, nous utiliserons Aspose.Email for Java. Il s’agit d’une API puissante qui vous permet de créer des applications client de messagerie riches en fonctionnalités à l’aide de Java. De plus, il fournit des moyens simplifiés de se connecter aux serveurs SMTP. Vous pouvez soit télécharger le JAR de l’API ou l’installer en utilisant les configurations Maven suivantes.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>http://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-email</artifactId>
    <version>21.3</version>
    <classifier>jdk16</classifier>
</dependency>

Se connecter à un serveur SMTP à l’aide de Java

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

  • Créez un objet de classe SmtpClient et initialisez-le avec l’adresse de l’hôte.
  • Définissez le nom d’utilisateur, le mot de passe, le port et les options de sécurité à l’aide de l’objet SmtpClient.
  • Envoyez l’e-mail.

L’exemple de code suivant montre comment se connecter à un serveur SMTP à l’aide de Java.

// Créer un objet de SmtpClient
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.setUsername("your.email@gmail.com");
client.setPassword("your.password");
client.setPort(587);
client.setSecurityOptions(SecurityOptions.SSLExplicit);

// Envoyer des emails
client.send(new MailMessage("sender@domain.com", "receiver@domain.com", "Sending Email via proxy", "Test email"));

Utiliser le proxy pour se connecter à un serveur SMTP

Dans divers cas, les serveurs SMTP sont sécurisés à l’aide du proxy. Par conséquent, vous devez vous connecter au serveur SMTP via le serveur proxy. Dans de tels cas, Aspose.Email for Java fournit les méthodes suivantes.

Connectez-vous aux serveurs SMTP via le proxy SOCKS en Java

Aspose.Email for Java fournit le support des versions 4, 4a et 5 du protocole proxy SOCKS. Voici les étapes pour se connecter à un serveur SMTP via le proxy SOCKS.

  • Créez un objet de la classe SmtpClient et initialisez-le avec l’hôte, le nom d’utilisateur et le mot de passe.
  • Créez un objet de la classe SocksProxy et définissez l’adresse, le port et la version SOCKS du serveur.
  • Définissez le proxy à l’aide de la méthode SmtpClient.setProxy(SocksProxy).
  • Envoyer des emails.

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

// Créer un objet de SmtpClient
SmtpClient client = new SmtpClient("smtp.domain.com", "username", "password");

// Définir les options de sécurité
client.setSecurityOptions(SecurityOptions.SSLImplicit);

// Paramètres du proxy
String proxyAddress = "192.168.203.142"; // proxy address
int proxyPort = 1080; // proxy port

// Créer et définir un proxy
SocksProxy proxy = new SocksProxy(proxyAddress, proxyPort, SocksVersion.SocksV5);
client.setProxy(proxy);

// Envoyer un e-mail
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 à un serveur SMTP via HTTP Proxy en Java

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

  • Créez un objet de la classe HttpProxy et initialisez-le avec l’hôte et le numéro de port.
  • Créez un objet de classe SmtpClient et définissez l’hôte, le nom d’utilisateur, le mot de passe et le port.
  • Définissez le proxy à l’aide de la méthode SmtpClient.setProxy(HttpProxy).
  • Envoyer des emails.

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

// Créer un objet de HttpProxy
HttpProxy proxy = new HttpProxy("18.222.124.59", 8080);

// Créer un client SMTP
try (SmtpClient client = new SmtpClient("host", 587, "username", "password")) {
  
    // Définir le proxy
    client.setProxy(proxy);
  
    // Envoyer des emails
    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)"));
}

Obtenez une licence API gratuite

Vous pouvez obtenir une licence temporaire gratuite afin d’utiliser Aspose.Email for Java sans limitations d’évaluation.

Conclusion

Dans cet article, vous avez appris à vous connecter à un serveur SMTP par programmation à l’aide de Java. De plus, vous avez vu comment utiliser les proxies SOCKS et HTTP pour se connecter à un serveur SMTP. Vous pouvez en savoir plus sur Aspose.Email for Java en utilisant documentation. De plus, vous pouvez soumettre vos questions via notre forum.

Voir également