Conéctese al servidor SMTP usando Java

El SMTP es un protocolo de correo electrónico comúnmente utilizado para enviar correos electrónicos desde las aplicaciones cliente a los servidores de correo electrónico. Antes de comunicarse con un servidor SMTP, debe establecer una conexión. En este artículo, aprenderá cómo conectarse a un servidor SMTP mediante programación usando Java. Además, el artículo cubrirá cómo conectarse a los servidores SMTP a través de SOCKS o proxies HTTP.

API de Java para conectarse al servidor SMTP

Para conectarnos a un servidor SMTP, usaremos Aspose.Email for Java. Es una potente API que le permite crear aplicaciones de cliente de correo electrónico ricas en funciones usando Java. Además, proporciona formas simplificadas de conectarse a los servidores SMTP. Puede descargar el JAR de la API o instalarlo usando las siguientes configuraciones de Maven.

<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>

Conéctese a un servidor SMTP usando Java

Los siguientes son los pasos para conectarse a un servidor SMTP.

  • Cree un objeto de la clase SmtpClient e inicialícelo con la dirección del host.
  • Establezca las opciones de nombre de usuario, contraseña, puerto y seguridad mediante el objeto SmtpClient.
  • Envía el correo electrónico.

El siguiente ejemplo de código muestra cómo conectarse a un servidor SMTP mediante Java.

// Crear un objeto de SmtpClient
SmtpClient client = new SmtpClient("smtp.gmail.com");

// Establecer nombre de usuario, contraseña, puerto y opciones de seguridad
client.setUsername("your.email@gmail.com");
client.setPassword("your.password");
client.setPort(587);
client.setSecurityOptions(SecurityOptions.SSLExplicit);

// Enviar correos electrónicos
client.send(new MailMessage("sender@domain.com", "receiver@domain.com", "Sending Email via proxy", "Test email"));

Usar proxy para conectarse a un servidor SMTP

En varios casos, los servidores SMTP están protegidos mediante el proxy. Por lo tanto, debe conectarse al servidor SMTP a través del servidor proxy. Para tales casos, Aspose.Email for Java proporciona los siguientes métodos.

Conéctese a servidores SMTP a través de SOCKS Proxy en Java

Aspose.Email for Java proporciona soporte para las versiones 4, 4a y 5 del protocolo proxy SOCKS. Los siguientes son los pasos para conectarse a un servidor SMTP a través del proxy SOCKS.

  • Cree un objeto de la clase SmtpClient e inicialícelo con el host, el nombre de usuario y la contraseña.
  • Cree un objeto de la clase SocksProxy y establezca la dirección, el puerto y la versión de SOCKS del servidor.
  • Configure el proxy usando el método SmtpClient.setProxy(SocksProxy).
  • Enviar correos electrónicos.

El siguiente ejemplo de código muestra cómo conectarse a un servidor SMTP a través del proxy SOCKS.

// Crear un objeto de SmtpClient
SmtpClient client = new SmtpClient("smtp.domain.com", "username", "password");

// Establecer opciones de seguridad
client.setSecurityOptions(SecurityOptions.SSLImplicit);

// Configuración de proxy
String proxyAddress = "192.168.203.142"; // proxy address
int proxyPort = 1080; // proxy port

// Crear y configurar proxy
SocksProxy proxy = new SocksProxy(proxyAddress, proxyPort, SocksVersion.SocksV5);
client.setProxy(proxy);

// Enviar correo electrónico
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)"));

Conéctese a un servidor SMTP a través de un proxy HTTP en Java

Los siguientes son los pasos para conectarse a un servidor SMTP a través de un proxy HTTP.

  • Cree un objeto de la clase HttpProxy e inicialícelo con el host y el número de puerto.
  • Cree un objeto de la clase SmtpClient y configure el host, el nombre de usuario, la contraseña y el puerto.
  • Configure el proxy usando el método SmtpClient.setProxy(HttpProxy).
  • Enviar correos electrónicos.

El siguiente ejemplo de código muestra cómo conectarse a un servidor SMTP a través de un proxy HTTP.

// Crear un objeto de HttpProxy
HttpProxy proxy = new HttpProxy("18.222.124.59", 8080);

// Crear cliente SMTP
try (SmtpClient client = new SmtpClient("host", 587, "username", "password")) {
  
    // Establecer proxy
    client.setProxy(proxy);
  
    // Enviar correos electrónicos
    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)"));
}

Obtenga una licencia de API gratuita

Puede obtener una licencia temporal gratuita para utilizar Aspose.Email for Java sin limitaciones de evaluación.

Conclusión

En este artículo, aprendió cómo conectarse a un servidor SMTP mediante programación usando Java. Además, ha visto cómo usar SOCKS y proxies HTTP para conectarse a un servidor SMTP. Puede explorar más sobre Aspose.Email for Java usando documentación. Además, puede enviar sus consultas a través de nuestro foro.

Ver también