Connettiti al server SMTP usando Java

SMTP è un protocollo di posta elettronica comunemente utilizzato per inviare e-mail dalle applicazioni client ai server di posta elettronica. Prima di comunicare con un server SMTP, è necessario stabilire una connessione. In questo articolo imparerai come connetterti a un server SMTP a livello di codice utilizzando Java. Inoltre, l’articolo tratterà come connettersi ai server SMTP tramite SOCKS o proxy HTTP.

API Java per la connessione al server SMTP

Per connetterci a un server SMTP, utilizzeremo Aspose.Email for Java. È una potente API che ti consente di creare applicazioni client di posta elettronica ricche di funzionalità utilizzando Java. Inoltre, fornisce modi semplificati per connettersi ai server SMTP. Puoi scaricare il JAR dell’API o installarlo utilizzando le seguenti configurazioni 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>

Connettiti a un server SMTP utilizzando Java

Di seguito sono riportati i passaggi per connettersi a un server SMTP.

  • Crea un oggetto della classe SmtpClient e inizializzalo con l’indirizzo dell’host.
  • Impostare nome utente, password, porta e opzioni di sicurezza utilizzando l’oggetto SmtpClient.
  • Invia l’e-mail.

L’esempio di codice seguente mostra come connettersi a un server SMTP utilizzando Java.

// Creare un oggetto di SmtpClient
SmtpClient client = new SmtpClient("smtp.gmail.com");

// Imposta nome utente, password, porta e opzioni di sicurezza
client.setUsername("your.email@gmail.com");
client.setPassword("your.password");
client.setPort(587);
client.setSecurityOptions(SecurityOptions.SSLExplicit);

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

Utilizzare il proxy per connettersi a un server SMTP

In vari casi, i server SMTP sono protetti utilizzando il proxy. Pertanto, è necessario connettersi al server SMTP tramite il server proxy. Per tali casi, Aspose.Email per Java fornisce i seguenti metodi.

Connettiti ai server SMTP tramite SOCKS Proxy in Java

Aspose.Email per Java fornisce il supporto per le versioni 4, 4a e 5 del protocollo proxy SOCKS. Di seguito sono riportati i passaggi per connettersi a un server SMTP tramite proxy SOCKS.

  • Crea un oggetto della classe SmtpClient e inizializzalo con l’host, il nome utente e la password.
  • Crea un oggetto della classe SocksProxy e imposta l’indirizzo, la porta e la versione SOCKS del server.
  • Imposta il proxy usando il metodo SmtpClient.setProxy(SocksProxy).
  • Inviare emails.

L’esempio di codice seguente mostra come connettersi a un server SMTP tramite proxy SOCKS.

// Creare un oggetto di SmtpClient
SmtpClient client = new SmtpClient("smtp.domain.com", "username", "password");

// Imposta le opzioni di sicurezza
client.setSecurityOptions(SecurityOptions.SSLImplicit);

// Impostazioni proxy
String proxyAddress = "192.168.203.142"; // proxy address
int proxyPort = 1080; // proxy port

// Crea e imposta proxy
SocksProxy proxy = new SocksProxy(proxyAddress, proxyPort, SocksVersion.SocksV5);
client.setProxy(proxy);

// Invia una 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)"));

Connettiti a un server SMTP tramite proxy HTTP in Java

Di seguito sono riportati i passaggi per connettersi a un server SMTP tramite proxy HTTP.

  • Crea un oggetto della classe HttpProxy e inizializzalo con l’host e il numero di porta.
  • Crea un oggetto della classe SmtpClient e imposta host, nome utente, password e porta.
  • Impostare il proxy utilizzando il metodo SmtpClient.setProxy(HttpProxy).
  • Inviare emails.

L’esempio di codice seguente mostra come connettersi a un server SMTP tramite proxy HTTP.

// Crea un oggetto di HttpProxy
HttpProxy proxy = new HttpProxy("18.222.124.59", 8080);

// Crea client SMTP
try (SmtpClient client = new SmtpClient("host", 587, "username", "password")) {
  
    // Imposta proxy
    client.setProxy(proxy);
  
    // Inviare 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)"));
}

Ottieni una licenza API gratuita

Puoi ottenere una licenza temporanea gratuita per utilizzare Aspose.Email per Java senza limitazioni di valutazione.

Conclusione

In questo articolo, hai imparato come connetterti a un server SMTP a livello di codice utilizzando Java. Inoltre, hai visto come utilizzare SOCKS e proxy HTTP per connettersi a un server SMTP. Puoi esplorare di più su Aspose.Email per Java usando documentazione. Inoltre, puoi inviare le tue domande tramite il nostro forum.

Guarda anche