O SMTP é um protocolo de e-mail comumente usado para enviar e-mails dos aplicativos clientes para os servidores de e-mail. Antes de se comunicar com um servidor SMTP, você precisa estabelecer uma conexão. Neste artigo, você aprenderá como se conectar a um servidor SMTP programaticamente usando Java. Além disso, o artigo abordará como se conectar aos servidores SMTP via SOCKS ou proxies HTTP.
- API Java para conectar ao servidor SMTP
- Conectar a um servidor SMTP
- Use o proxy SOCKS para se conectar ao servidor SMTP
- Use o proxy HTTP para se conectar ao servidor SMTP
- Obtenha uma licença de API gratuita
API Java para conectar ao servidor SMTP
Para conectar a um servidor SMTP, usaremos Aspose.Email for Java. É uma API poderosa que permite criar aplicativos de cliente de e-mail ricos em recursos usando Java. Além disso, fornece maneiras simplificadas de se conectar aos servidores SMTP. Você pode baixar o JAR da API ou instalá-lo usando as seguintes configurações do 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>
Conecte-se a um servidor SMTP usando Java
A seguir estão as etapas para se conectar a um servidor SMTP.
- Crie um objeto da classe SmtpClient e inicialize-o com o endereço do host.
- Defina as opções de nome de usuário, senha, porta e segurança usando o objeto SmtpClient.
- Envie o e-mail.
O exemplo de código a seguir mostra como se conectar a um servidor SMTP usando Java.
// Crie um objeto de SmtpClient
SmtpClient client = new SmtpClient("smtp.gmail.com");
// Definir nome de usuário, senha, porta e opções de segurança
client.setUsername("your.email@gmail.com");
client.setPassword("your.password");
client.setPort(587);
client.setSecurityOptions(SecurityOptions.SSLExplicit);
// Mande emails
client.send(new MailMessage("sender@domain.com", "receiver@domain.com", "Sending Email via proxy", "Test email"));
Usar proxy para conectar-se a um servidor SMTP
Em vários casos, os servidores SMTP são protegidos usando o proxy. Portanto, você deve se conectar ao servidor SMTP por meio do servidor proxy. Para esses casos, Aspose.Email para Java fornece os seguintes métodos.
Conecte-se a servidores SMTP via proxy SOCKS em Java
Aspose.Email para Java fornece suporte para as versões 4, 4a e 5 do protocolo proxy SOCKS. A seguir estão as etapas para se conectar a um servidor SMTP via proxy SOCKS.
- Crie um objeto da classe SmtpClient e inicialize-o com o host, nome de usuário e senha.
- Crie um objeto da classe SocksProxy e defina o endereço do servidor, porta e versão SOCKS.
- Defina o proxy usando o método SmtpClient.setProxy(SocksProxy).
- Mande emails.
O exemplo de código a seguir mostra como se conectar a um servidor SMTP por meio do proxy SOCKS.
// Crie um objeto de SmtpClient
SmtpClient client = new SmtpClient("smtp.domain.com", "username", "password");
// Definir opções de segurança
client.setSecurityOptions(SecurityOptions.SSLImplicit);
// Configurações de proxy
String proxyAddress = "192.168.203.142"; // proxy address
int proxyPort = 1080; // proxy port
// Criar e definir proxy
SocksProxy proxy = new SocksProxy(proxyAddress, proxyPort, SocksVersion.SocksV5);
client.setProxy(proxy);
// Enviar email
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)"));
Conecte-se a um servidor SMTP via proxy HTTP em Java
A seguir estão as etapas para se conectar a um servidor SMTP via proxy HTTP.
- Crie um objeto da classe HttpProxy e inicialize-o com o host e o número da porta.
- Crie um objeto da classe SmtpClient e defina host, nome de usuário, senha e porta.
- Defina o proxy usando o método SmtpClient.setProxy(HttpProxy).
- Mande emails.
O exemplo de código a seguir mostra como se conectar a um servidor SMTP por meio de proxy HTTP.
// Crie um objeto de HttpProxy
HttpProxy proxy = new HttpProxy("18.222.124.59", 8080);
// Criar cliente SMTP
try (SmtpClient client = new SmtpClient("host", 587, "username", "password")) {
// Definir proxy
client.setProxy(proxy);
// Mande 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)"));
}
Obtenha uma licença de API gratuita
Você pode obter uma licença temporária gratuita para usar o Aspose.Email for Java sem limitações de avaliação.
Conclusão
Neste artigo, você aprendeu como se conectar a um servidor SMTP programaticamente usando Java. Além disso, você viu como usar SOCKS e proxies HTTP para se conectar a um servidor SMTP. Você pode explorar mais sobre o Aspose.Email para Java usando documentação. Além disso, você pode enviar suas dúvidas através do nosso fórum.