Aspose.Email for Java est une puissante API de traitement des e-mails qui fournit toutes les fonctionnalités de base et avancées pour la gestion des e-mails. Il vous permet de créer des e-mails Outlook, de lire des e-mails existants et de convertir des messages MSG, EML, PST, OST, MBOX et MHT dans d’autres formats à partir de vos applications Java. Dans cet article, je vais démontrer quelques fonctionnalités de base mais importantes sur la façon de créer et d’envoyer des e-mails Outlook à l’aide de Java.
Je vais couvrir les fonctionnalités suivantes de création et d’envoi d’e-mails dans cet article :
- Créer un message électronique Outlook à l’aide de Java
- Définir le corps HTML pour les e-mails à l’aide de Java
- Créer un e-mail avec un encodage particulier en utilisant Java
- Envoyer des e-mails Outlook à l’aide de Java
- Envoyer des e-mails de manière asynchrone à l’aide de Java
- Envoyer un e-mail avec une confirmation de lecture en utilisant Java
- Envoyer des e-mails en masse à l’aide de Java
API de messagerie Java - Installation
Aspose.Email for Java peut être téléchargé à partir de la section Téléchargements ou installé à l’aide des configurations Maven suivantes.
Repository:
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
Dependency:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-email</artifactId>
<version>20.3</version>
<classifier>jdk16</classifier>
</dependency>
Créer des messages électroniques Outlook à l’aide de Java
Aspose.Email for Java vous permet de créer des e-mails et de les enregistrer dans le format d’e-mail de votre choix, notamment EML, EMLX, MSG et MHTML. Voici les étapes pour créer un message électronique et l’enregistrer en tant que fichier.
- Créez une instance de la classe MailMessage.
- Définissez les propriétés du message telles que Objet, Corps, À, CC, etc.
- Ajoutez des pièces jointes si nécessaire.
- Enregistrez le message électronique dans le format de votre choix à l’aide de la méthode MailMessage.save().
L’exemple de code suivant montre comment créer un message électronique Outlook à l’aide de Java.
MailMessage message = new MailMessage();
// Définir l'objet du message, le corps et les informations sur l'expéditeur
message.setSubject("New message created by Aspose.Email for .NET");
message.setBody("This is the body of the email.");
message.setFrom(new MailAddress("from@domain.com", "Sender Name", false));
// Ajouter aux destinataires et aux destinataires CC
message.getTo().addItem(new MailAddress("to1@domain.com", "Recipient 1", false));
message.getCC().addItem(new MailAddress("cc1@domain.com", "Recipient 3", false));
// Ajouter des pièces jointes
message.getAttachments().addItem(new Attachment("word.docx"));
// Enregistrer le message aux formats EML, EMLX, MSG et MHTML
message.save("EmailMessage.eml", SaveOptions.getDefaultEml());
message.save("EmailMessage.emlx", SaveOptions.createSaveOptions(MailMessageSaveType.getEmlxFormat()));
message.save("EmailMessage.msg", SaveOptions.getDefaultMsgUnicode());
message.save("EmailMessage.mhtml", SaveOptions.getDefaultMhtml());
Créer un e-mail avec un corps HTML à l’aide de Java
Dans l’exemple précédent, nous avons simplement créé un e-mail en texte brut et l’avons enregistré en tant que fichier e-mail. Cependant, la plupart des e-mails d’aujourd’hui sont créés avec un corps HTML pour bien organiser et présenter le contenu de l’e-mail. Dans ce cas, les balises HTML sont utilisées pour spécifier la mise en page de l’e-mail. Voyons comment créer un e-mail avec un corps HTML en utilisant Aspose.Email for Java.
- Utilisez la classe MailMessage pour créer un nouveau message électronique.
- Définissez Objet, À, CC et d’autres propriétés.
- Définissez le corps de l’e-mail à l’aide de la méthode MailMessage.setHtmlBody(string).
- Enregistrez le message électronique à l’aide de la méthode MailMessage.save().
L’exemple de code suivant montre comment créer un e-mail avec un corps HTML à l’aide de Java.
MailMessage message = new MailMessage();
// Définir l'objet du message, le corps et les informations sur l'expéditeur
message.setSubject("New message created by Aspose.Email for .NET");
message.setHtmlBody("<b>This line is in bold.</b> <br/> <br/> <font color=blue>This line is in blue color</font>");
message.setFrom(new MailAddress("from@domain.com", "Sender Name", false));
// Ajouter aux destinataires et aux destinataires CC
message.getTo().addItem(new MailAddress("to1@domain.com", "Recipient 1", false));
message.getCC().addItem(new MailAddress("cc1@domain.com", "Recipient 3", false));
// Enregistrer le message aux formats EML, EMLX, MSG et MHTML
message.save("EmailMessage.eml", SaveOptions.getDefaultEml());
Créer un e-mail avec un codage particulier à l’aide de Java
Aspose.Email for Java vous permet également de définir l’encodage de texte souhaité pour les messages électroniques. La norme de codage est utilisée pour indiquer à l’application de messagerie ou au navigateur comment interpréter les caractères dans le corps de l’e-mail. Voici les étapes pour créer un e-mail avec une norme d’encodage particulière.
- Créez un objet de la classe MailMessage.
- Définissez les propriétés de l’e-mail telles que Objet, À, CC, etc.
- Définissez la norme d’encodage à l’aide de la méthode MailMessage.setBodyEncoding().
- Créez et enregistrez l’e-mail à l’aide de la méthode MailMessage.save().
L’exemple de code suivant montre comment créer un e-mail avec une norme de codage particulière à l’aide de Java.
MailMessage message = new MailMessage();
// Définir l'objet du message, le corps et les informations sur l'expéditeur
message.setSubject("New message created by Aspose.Email for .NET");
message.setHtmlBody("<b>This line is in bold.</b> <br/> <br/> <font color=blue>This line is in blue color</font>");
message.setFrom(new MailAddress("from@domain.com", "Sender Name", false));
// Spécifier l'encodage
message.setBodyEncoding(Charset.forName("US-ASCII"));
// Ajouter aux destinataires et aux destinataires CC
message.getTo().addItem(new MailAddress("to1@domain.com", "Recipient 1", false));
message.getCC().addItem(new MailAddress("cc1@domain.com", "Recipient 3", false));
// Enregistrer le message aux formats EML, EMLX, MSG et MHTML
message.save("EmailMessage.eml", SaveOptions.getDefaultEml());
Envoyer des e-mails Outlook à l’aide de Java
Une fois que vous avez créé un e-mail, vous pouvez l’envoyer à ses destinataires à l’aide du protocole SMTP (Simple Mail Transfer Protocol). Voici les étapes pour envoyer un e-mail à l’aide de Aspose.Email for Java.
- Créez un nouveau message électronique ou chargez-en un existant à l’aide de la classe MailMessage.
- Créez une instance de la classe SmtpClient et définissez son hôte, son nom d’utilisateur, son mot de passe et son port.
- Envoyez un e-mail à l’aide de la méthode SmtpClient.send().
L’exemple de code suivant montre comment envoyer un e-mail via un client SMTP en Java.
MailMessage message = new MailMessage();
// Définir l'objet du message, le corps et les informations sur l'expéditeur
message.setSubject("New message created by Aspose.Email for .NET");
message.setHtmlBody("<b>This line is in bold.</b> <br/> <br/> <font color=blue>This line is in blue color</font>");
message.setFrom(new MailAddress("from@domain.com", "Sender Name", false));
// Spécifier l'encodage
message.setBodyEncoding(Charset.forName("US-ASCII"));
// Ajouter aux destinataires et aux destinataires CC
message.getTo().addItem(new MailAddress("to1@domain.com", "Recipient 1", false));
message.getCC().addItem(new MailAddress("cc1@domain.com", "Recipient 3", false));
// Créer une instance de la classe SmtpClient
SmtpClient client = new SmtpClient();
// Spécifiez votre serveur hôte de messagerie, nom d'utilisateur, mot de passe, port
client.setHost("smtp.server.com");
client.setUsername("Username");
client.setPassword("Password");
client.setPort(25);
try
{
// Client.Send enverra ce message
client.send(message);
}
catch (Exception ex)
{
ex.printStackTrace();
}
Envoyer des e-mails de manière asynchrone à l’aide de Java
Aspose.Email for Java vous permet également d’envoyer des e-mails de manière asynchrone. Pour cela, vous pouvez utiliser la méthode SmtpClient.beginSend(). L’exemple de code suivant montre comment envoyer des e-mails de manière asynchrone à l’aide de Java.
MailMessage message = new MailMessage();
// Définir l'objet du message, le corps et les informations sur l'expéditeur
message.setSubject("New message created by Aspose.Email for .NET");
message.setHtmlBody("<b>This line is in bold.</b> <br/> <br/> <font color=blue>This line is in blue color</font>");
message.setFrom(new MailAddress("from@domain.com", "Sender Name", false));
// Spécifier l'encodage
message.setBodyEncoding(Charset.forName("US-ASCII"));
// Ajouter aux destinataires et aux destinataires CC
message.getTo().addItem(new MailAddress("to1@domain.com", "Recipient 1", false));
message.getCC().addItem(new MailAddress("cc1@domain.com", "Recipient 3", false));
// Créer une instance de la classe SmtpClient
SmtpClient client = new SmtpClient();
// Spécifiez votre serveur hôte de messagerie, nom d'utilisateur, mot de passe, port
client.setHost("smtp.server.com");
client.setUsername("Username");
client.setPassword("Password");
client.setPort(25);
try
{
// Client.beginSend enverra ce message
client.beginSend(message);
}
catch (Exception ex)
{
ex.printStackTrace();
}
Envoyer des e-mails avec un accusé de lecture à l’aide de Java
Vous pouvez également ajouter une demande de confirmation de lecture aux messages électroniques. Cette fonctionnalité vous permet de recevoir une notification après la réception de l’e-mail. Voici les étapes pour créer et envoyer un message électronique contenant une demande de confirmation de lecture.
- Créez un nouveau message électronique à l’aide de la classe MailMessage.
- Définissez l’option de notification de livraison à l’aide de la méthode MailMessage.setDeliveryNotificationOptions().
- Ajoutez les informations de réception dans les en-têtes des e-mails.
- Utilisez la classe SmtpClient pour envoyer l’e-mail.
L’exemple de code suivant montre comment envoyer un e-mail contenant une confirmation de lecture à l’aide de Java.
MailMessage message = new MailMessage();
// Définir l'objet du message, le corps et les informations sur l'expéditeur
message.setSubject("New message created by Aspose.Email for .NET");
message.setHtmlBody("<b>This line is in bold.</b> <br/> <br/> <font color=blue>This line is in blue color</font>");
message.setFrom(new MailAddress("from@domain.com", "Sender Name", false));
// Définir les options de notification
message.setDeliveryNotificationOptions(DeliveryNotificationOptions.OnSuccess);
message.getHeaders().add("Return-Receipt-To", "from@domain.com");
message.getHeaders().add("Disposition-Notification-To", "from@domain.com");
// Ajouter aux destinataires
message.getTo().addItem(new MailAddress("to1@domain.com", "Recipient 1", false));
// Créer une instance de la classe SmtpClient
SmtpClient client = new SmtpClient();
// Spécifiez votre serveur hôte de messagerie, nom d'utilisateur, mot de passe, port
client.setHost("smtp.server.com");
client.setUsername("Username");
client.setPassword("Password");
client.setPort(25);
try
{
// Client.Send enverra ce message
client.send(message);
}
catch (Exception ex)
{
ex.printStackTrace();
}
Envoyer des e-mails en masse à l’aide de Java
Il peut arriver que vous ayez besoin d’envoyer un grand nombre d’e-mails différents. Dans ce cas, vous pouvez simplement ajouter tous les e-mails à un objet MailMessageCollection et le transmettre au client SMTP pour l’envoi. L’exemple de code suivant montre comment envoyer un grand nombre d’e-mails à l’aide de Java.
// Créez des instances de la classe MailMessage et spécifiez To, From, Subject et Message
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?");
// Créez une instance de MailMessageCollection et ajoutez-y des e-mails
MailMessageCollection manyMsg = new MailMessageCollection();
manyMsg.addItem(message1);
manyMsg.addItem(message2);
manyMsg.addItem(message3);
// Créez SmtpClient et spécifiez le serveur, le port, le nom d'utilisateur et le mot de passe
SmtpClient client = new SmtpClient("mail.server.com", 25, "Username", "Password");
try
{
// Envoyer des messages
client.send(manyMsg);
}
catch (Exception ex)
{
ex.printStackTrace();
}
Démos en direct
Conclusion
Dans cet article, je vous ai montré comment créer des messages électroniques Outlook et les enregistrer aux formats EML, MSG et MTH à l’aide de Java. De plus, différentes manières d’envoyer des e-mails en Java à l’aide du client STMP sont également abordées. Vous pouvez en savoir plus sur la Java Email Library d’Aspose en utilisant la documentation.