L’automazione delle email è diventata popolare, specificamente tra i marketer. Essa consente loro di inviare automaticamente email predefinite al loro pubblico target all’orario programmato.

Java Code for Sending Email

Inviare un’email con Java

In questo articolo, spieghiamo come scrivere codice per inviare email in Java. Vedremo i passaggi per creare e inviare email con corpo in testo normale o HTML in modo programmatico. Inoltre, dimostreremo come inviare email in massa e l’invio di email memorizzate dal disco utilizzando Java.

Questo articolo tratterà i punti indicati di seguito:

Java library per inviare email

Utilizzeremo Java email library, che consente di implementare la propria logica aziendale per gestire le email senza conoscere la programmazione di rete o le specifiche di formato. La libreria Java per l’invio di email può essere installata direttamente utilizzando la configurazione Maven riportata di seguito:

<repository>
	<id>ConholdateJavaAPI</id>
	<name>Conholdate Java API</name>
	<url>https://releases.conholdate.com/java/repo</url>
</repository>        
<dependency>
	<groupId>com.conholdate</groupId>
	<artifactId>conholdate-total</artifactId>
	<version>23.6</version>
	<type>pom</type>
</dependency>

Per configurazioni su altri framework Java, visita releases.conholdate.com.

Come scrivere codice per creare e inviare un’email in Java

La libreria email di Java invia i messaggi email attraverso un server SMTP per la consegna. Il mittente, i destinatari, l’oggetto e il corpo del messaggio vengono specificati utilizzando String oggetti. In questa sezione, discuteremo come scrivere esempi di codice in Java per inviare email con testo semplice e anche HTML corpo.

Codice Java per inviare un’email con testo semplice

Di seguito sono riportati i passaggi per creare e inviare un’email con SMTP:

  1. Crea un oggetto della classe MailMessage.
  2. Specifica l’oggetto, il corpo, l’indirizzo del mittente e l’indirizzo del destinatario.
  3. Crea un oggetto della classe SmtpClient.
  4. Imposta host, porta, nome utente, password e opzioni di sicurezza.
  5. Chiama SmtpClient.send(MailMessage arg) metodo per inviare il messaggio email.

Il campione di codice sottostante mostra come creare e inviare un messaggio email con testo semplice:

// Dichiara msg come istanza di MailMessage
MailMessage msg = new MailMessage();

// Imposta i campi Da e A e il corpo del testo in formato semplice.
msg.setFrom(MailAddress.to_MailAddress("sender@sender.com"));
msg.getTo().add("receiver@receiver.com");
msg.setBody("This is a Plain Text Body");

// Crea un'istanza della classe SmtpClient
SmtpClient client = new SmtpClient();

// Specifica il tuo server host di posta, Nome utente, Password, Numero di porta e Opzione di sicurezza
client.setHost("mail.server.com");
client.setUsername("username");
client.setPassword("password");
client.setPort(587);
client.setSecurityOptions(SecurityOptions.SSLExplicit);

try {
    // Client.Send invierà questo messaggio
    client.send(msg);
    System.out.println("Message sent");
} catch (Exception ex) {
    System.err.println(ex);
    client.close();
    client.dispose();
}
client.close();
client.dispose();  

Invio di email con corpo HTML

Di seguito sono riportati i passaggi per inviare un messaggio email con un corpo HTML:

  1. Crea un oggetto della classe MailMessage.
  2. Specifica l’oggetto, il corpo, l’indirizzo del mittente e l’indirizzo del destinatario.
  3. Imposta il corpo dell’email usando MailMessage.setHtmlBody(String value) metodo.
  4. Crea un oggetto della classe SmtpClient.
  5. Imposta host, porta, nome utente, password e opzioni di sicurezza.
  6. Chiama SmtpClient.send(MailMessage arg) metodo per inviare un messaggio email.

Il campione di codice qui sotto mostra come inviare un messaggio email con un corpo HTML.

// Dichiarare msg come istanza di MailMessage
MailMessage msg = new MailMessage();

// Utilizza le proprietà di MailMessage come specificare mittente, destinatario, messaggio e HtmlBody
 msg.setFrom(MailAddress.to_MailAddress("newcustomeronnet@gmail.com"));
 msg.setTo(MailAddressCollection.to_MailAddressCollection("asposetest123@gmail.com"));
 msg.setSubject("Test subject");
 msg.setHtmlBody("<html><body>This is the HTML body</body></html>");

// Crea un'istanza della classe SmtpClient
SmtpClient client = new SmtpClient();

// Specifica il tuo server di posta, Nome utente, Password, Numero di porta e opzione di sicurezza.
client.setHost("mail.server.com");
client.setUsername("username");
client.setPassword("password");
client.setPort(587);
client.setSecurityOptions(SecurityOptions.SSLExplicit);

try {
    // Client.Send invierà questo messaggio
    client.send(msg);
    System.out.println("Message sent");
} catch (Exception ex) {
    System.err.println(ex);
    client.close();
    client.dispose();
}
client.close();
client.dispose();  

Invio di email memorizzate dal disco in Java

La libreria email di Java ti consente di caricare i EML(Outlook Express Electronic Mail) file dal disco e inviarli tramite SMTP.

I passaggi per inviare i messaggi email archiviati dal disco sono indicati di seguito:

  1. Crea un oggetto della classe MailMessage utilizzando il metodo MailMessage.load(String path).
  2. Crea un oggetto della classe SmtpClient.
  3. Imposta host, porta, nome utente, password e opzioni di sicurezza.
  4. Call SmtpClient.send(MailMessage arg) method to send email message.

Il campione di codice qui sotto dimostra come inviare le email memorizzate da un disco in Java.

// Carica un file EML nella classe MailMessage
MailMessage message = MailMessage.load(dataDir + "test.eml");

// Crea un'istanza della classe SmtpClient
SmtpClient client = new SmtpClient();

// Specifica il tuo server host di posta, Nome utente, Password, Numero di porta e opzione di sicurezza.
client.setHost("mail.server.com");
client.setUsername("username");
client.setPassword("password");
client.setPort(587);
client.setSecurityOptions(SecurityOptions.SSLExplicit);

try {
    // Client.Send invierà questo messaggio
    client.send(msg);
    System.out.println("Message sent");
} catch (Exception ex) {
    System.err.println(ex);
    client.close();
    client.dispose();
}
client.close();
client.dispose();  

Java codice per inviare email in massa

I seguenti sono i passaggi per scrivere codice Java per inviare email in massa:

  1. Crea più oggetti della classe MailMessage e specifica i loro parametri o proprietà necessari.
  2. Crea un oggetto della classe MailMessageCollection.
  3. Aggiungi oggetti messaggio email (come creato nel 1° passaggio) alla raccolta utilizzando MailMessageCollection.addItem() metodo.
  4. Crea un oggetto della classe SmtpClient. and set the host, port, username, and password.
  5. Invia un’email utilizzando il metodo SmtpClient.send(MailMessageCollection arg).

Il campione di codice qui sotto dimostra come inviare email in massa utilizzando Java.

// Crea SmtpClient come client e specifica server, porta, nome utente e password
SmtpClient client = new SmtpClient("mail.server.com", 25, "Username", "Password");

// Crea istanze della classe MailMessage e specifica A, Da, Oggetto e Messaggio
MailMessage message1 = new MailMessage("msg1@from.com", "msg1@to.com", "Subject1", "message1, how are you?");
MailMessage message2 = new MailMessage("msg1@from.com", "msg2@to.com", "Subject2", "message2, how are you?");
MailMessage message3 = new MailMessage("msg1@from.com", "msg3@to.com", "Subject3", "message3, how are you?");

// Crea un'istanza della classe MailMessageCollection e aggiungi oggetti MailMessage
MailMessageCollection manyMsg = new MailMessageCollection();
manyMsg.addItem(message1);
manyMsg.addItem(message2);
manyMsg.addItem(message3);

try {
    // Invia messaggio in massa
    client.send(manyMsg);
    System.out.println("Message sent");
} catch (Exception ex) {
    System.err.println(ex);
    client.close();
    client.dispose();
}
client.close();
client.dispose();  

Ottieni una licenza gratuita

Puoi ottenere una free temporary license per provare l’API senza limitazioni di valutazione.

Ricapitolando

In questo articolo, hai acquisito conoscenze su come scrivere codice per inviare email in Java utilizzando una libreria Java per l’invio di email. Inizialmente, hai imparato come inviare un’email con corpo in testo semplice o HTML in modo programmatico. Successivamente, hai visto come inviare email in massa e l’invio di email memorizzate dal disco utilizzando Java.

Puoi visitare la documentazione per esplorare altre funzionalità.

Infine, ti suggeriamo di rimanere sintonizzato su conholdate.com per aggiornamenti regolari.

Ask a question

Puoi farci sapere le tue domande o richieste sul nostro forum.

Vedi anche