Aspose.Email for Java är ett kraftfullt e-postbearbetnings-API som tillhandahåller alla grundläggande såväl som avancerade funktioner för e-posthantering. Det låter dig skapa Outlook-e-postmeddelanden, läsa befintliga e-postmeddelanden och konvertera MSG-, EML-, PST-, OST-, MBOX- och MHT-meddelanden till andra format från dina Java-applikationer. I den här artikeln kommer jag att visa några grundläggande men viktiga funktioner för hur man skapar och skickar Outlook-e-post med Java.
Jag kommer att täcka följande funktioner för att skapa och skicka e-postmeddelanden i den här artikeln:
- Skapa Outlook e-postmeddelande med Java
- Ställ in HTML-text för e-post med Java
- Skapa ett e-postmeddelande med en viss kodning med Java
- Skicka Outlook-e-post med Java
- Skicka e-postmeddelanden asynkront med Java
- Skicka ett e-postmeddelande med ett läskvitto med Java
- Skicka massmail med Java
Java Email API - Installation
Aspose.Email för Java kan laddas ner från avsnittet Nedladdningar eller installeras med följande Maven-konfigurationer.
Förvar:
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
Beroende:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-email</artifactId>
<version>20.3</version>
<classifier>jdk16</classifier>
</dependency>
Skapa Outlook-e-postmeddelanden med Java
Aspose.Email för Java låter dig skapa e-postmeddelanden och spara dem i önskat e-postformat inklusive EML, EMLX, MSG och MHTML. Följande är stegen för att skapa ett e-postmeddelande och spara det som en fil.
- Skapa en instans av klassen MailMessage.
- Ställ in meddelandets egenskaper som Ämne, Brödtext, Till, CC, etc.
- Lägg till bilagor om det behövs.
- Spara e-postmeddelandet i önskat format med metoden MailMessage.save().
Följande kodexempel visar hur du skapar ett Outlook-e-postmeddelande med Java.
MailMessage message = new MailMessage();
// Ange ämne för meddelandet, text och avsändarinformation
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));
// Lägg till till mottagare och CC-mottagare
message.getTo().addItem(new MailAddress("to1@domain.com", "Recipient 1", false));
message.getCC().addItem(new MailAddress("cc1@domain.com", "Recipient 3", false));
// Lägg till bilagor
message.getAttachments().addItem(new Attachment("word.docx"));
// Spara meddelande i EML-, EMLX-, MSG- och MHTML-format
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());
Skapa ett e-postmeddelande med HTML Body med Java
I det föregående exemplet skapade vi helt enkelt ett e-postmeddelande med vanlig text och sparade det som en e-postfil. Men de flesta e-postmeddelanden idag skapas med HTML-kropp för att väl organisera och presentera e-postmeddelandets innehåll. I det här fallet används HTML-taggar för att ange layouten för e-postmeddelandet. Låt oss se hur man skapar ett e-postmeddelande med en HTML-kropp med Aspose.Email för Java.
- Använd klassen MailMessage för att skapa ett nytt e-postmeddelande.
- Ställ in Ämne, Till, CC och andra egenskaper.
- Ställ in e-posttexten med metoden MailMessage.setHtmlBody(string).
- Spara e-postmeddelandet med metoden MailMessage.save().
Följande kodexempel visar hur du skapar ett e-postmeddelande med en HTML-text med Java.
MailMessage message = new MailMessage();
// Ange ämne för meddelandet, text och avsändarinformation
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));
// Lägg till till mottagare och CC-mottagare
message.getTo().addItem(new MailAddress("to1@domain.com", "Recipient 1", false));
message.getCC().addItem(new MailAddress("cc1@domain.com", "Recipient 3", false));
// Spara meddelande i EML-, EMLX-, MSG- och MHTML-format
message.save("EmailMessage.eml", SaveOptions.getDefaultEml());
Skapa ett e-postmeddelande med en särskild kodning med Java
Aspose.Email för Java låter dig också ställa in önskad textkodning för e-postmeddelanden. Kodningsstandarden används för att berätta för e-postapplikationen eller webbläsaren hur man tolkar tecknen i e-postmeddelandets kropp. Följande är stegen för att skapa ett e-postmeddelande med en viss kodningsstandard.
- Skapa ett objekt av klassen MailMessage.
- Ställ in e-postegenskaper som Ämne, Till, Kopia, etc.
- Ställ in kodningsstandard med metoden MailMessage.setBodyEncoding().
- Skapa och spara e-postmeddelandet med metoden MailMessage.save().
Följande kodexempel visar hur man skapar ett e-postmeddelande med en viss kodningsstandard med Java.
MailMessage message = new MailMessage();
// Ange ämne för meddelandet, text och avsändarinformation
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));
// Ange kodning
message.setBodyEncoding(Charset.forName("US-ASCII"));
// Lägg till till mottagare och CC-mottagare
message.getTo().addItem(new MailAddress("to1@domain.com", "Recipient 1", false));
message.getCC().addItem(new MailAddress("cc1@domain.com", "Recipient 3", false));
// Spara meddelande i EML-, EMLX-, MSG- och MHTML-format
message.save("EmailMessage.eml", SaveOptions.getDefaultEml());
Skicka Outlook-e-post med Java
När du har skapat ett e-postmeddelande kan du skicka det till mottagarna med Simple Mail Transfer Protocol (SMTP). Följande är stegen för att skicka ett e-postmeddelande med Aspose.Email för Java.
- Skapa ett nytt e-postmeddelande eller ladda ett befintligt med klassen MailMessage.
- Skapa en instans av klassen SmtpClient och ställ in dess värd, användarnamn, lösenord och port.
- Skicka e-post med metoden SmtpClient.send().
Följande kodexempel visar hur man skickar ett e-postmeddelande via SMTP-klient i Java.
MailMessage message = new MailMessage();
// Ange ämne för meddelandet, text och avsändarinformation
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));
// Ange kodning
message.setBodyEncoding(Charset.forName("US-ASCII"));
// Lägg till till mottagare och CC-mottagare
message.getTo().addItem(new MailAddress("to1@domain.com", "Recipient 1", false));
message.getCC().addItem(new MailAddress("cc1@domain.com", "Recipient 3", false));
// Skapa en instans av SmtpClient Class
SmtpClient client = new SmtpClient();
// Ange din e-postvärdserver, användarnamn, lösenord, port
client.setHost("smtp.server.com");
client.setUsername("Username");
client.setPassword("Password");
client.setPort(25);
try
{
// Client.Send skickar detta meddelande
client.send(message);
}
catch (Exception ex)
{
ex.printStackTrace();
}
Skicka e-post asynkront med Java
Aspose.Email för Java låter dig också skicka e-postmeddelanden asynkront. För detta kan du använda metoden SmtpClient.beginSend(). Följande kodexempel visar hur man skickar e-postmeddelanden asynkront med Java.
MailMessage message = new MailMessage();
// Ange ämne för meddelandet, text och avsändarinformation
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));
// Ange kodning
message.setBodyEncoding(Charset.forName("US-ASCII"));
// Lägg till till mottagare och CC-mottagare
message.getTo().addItem(new MailAddress("to1@domain.com", "Recipient 1", false));
message.getCC().addItem(new MailAddress("cc1@domain.com", "Recipient 3", false));
// Skapa en instans av SmtpClient Class
SmtpClient client = new SmtpClient();
// Ange din e-postvärdserver, användarnamn, lösenord, port
client.setHost("smtp.server.com");
client.setUsername("Username");
client.setPassword("Password");
client.setPort(25);
try
{
// Client.beginSend kommer att skicka detta meddelande
client.beginSend(message);
}
catch (Exception ex)
{
ex.printStackTrace();
}
Skicka e-postmeddelanden med ett läskvitto med Java
Du kan också lägga till en begäran om ett läskvitto i e-postmeddelandena. Med den här funktionen kan du få ett meddelande efter att e-postmeddelandet har tagits emot. Följande är stegen för att skapa och skicka ett e-postmeddelande som innehåller en begäran om läskvitto.
- Skapa ett nytt e-postmeddelande med klassen MailMessage.
- Ställ in leveransaviseringsalternativet med metoden MailMessage.setDeliveryNotificationOptions().
- Lägg till kvittoinformation i e-posthuvudena.
- Använd klassen SmtpClient för att skicka e-postmeddelandet.
Följande kodexempel visar hur man skickar ett e-postmeddelande som innehåller ett läskvitto med Java.
MailMessage message = new MailMessage();
// Ange ämne för meddelandet, text och avsändarinformation
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));
// Ställ in aviseringsalternativ
message.setDeliveryNotificationOptions(DeliveryNotificationOptions.OnSuccess);
message.getHeaders().add("Return-Receipt-To", "from@domain.com");
message.getHeaders().add("Disposition-Notification-To", "from@domain.com");
// Lägg till mottagare
message.getTo().addItem(new MailAddress("to1@domain.com", "Recipient 1", false));
// Skapa en instans av SmtpClient Class
SmtpClient client = new SmtpClient();
// Ange din e-postvärdserver, användarnamn, lösenord, port
client.setHost("smtp.server.com");
client.setUsername("Username");
client.setPassword("Password");
client.setPort(25);
try
{
// Client.Send skickar detta meddelande
client.send(message);
}
catch (Exception ex)
{
ex.printStackTrace();
}
Skicka massmeddelanden med Java
Det kan vara fallet när du behöver skicka en massa olika e-postmeddelanden. I så fall kan du helt enkelt lägga till alla e-postmeddelanden till ett MailMessageCollection-objekt och skicka det till SMTP-klienten för sändning. Följande kodexempel visar hur man skickar en stor del av e-postmeddelanden med Java.
// Skapa instanser av klassen MailMessage och ange Till, Från, Ämne och Meddelande
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?");
// Skapa en instans av MailMessageCollection och lägg till e-postmeddelanden till den
MailMessageCollection manyMsg = new MailMessageCollection();
manyMsg.addItem(message1);
manyMsg.addItem(message2);
manyMsg.addItem(message3);
// Skapa SmtpClient och ange server, port, användarnamn och lösenord
SmtpClient client = new SmtpClient("mail.server.com", 25, "Username", "Password");
try
{
// Skicka meddelanden
client.send(manyMsg);
}
catch (Exception ex)
{
ex.printStackTrace();
}
Livedemos
Slutsats
I det här inlägget har jag visat dig hur du skapar Outlook-e-postmeddelanden och sparar dem som EML-, MSG- och MTH-format med Java. Dessutom diskuteras olika sätt att skicka e-post i Java med hjälp av STMP-klienten. Du kan lära dig mer om Asposes Java Email Library med hjälp av dokumentationen.