I de flesta fall skickas e-postmeddelanden i en välformaterad layout efter en viss mall. Men olika e-postredigerare tillhandahåller inte de förbättrade formateringsalternativen. I sådana fall kan du skapa ett meddelande i ett Word-dokument och använda det som en e-posttext. I den här artikeln kommer du att lära dig hur du skickar ett MS Word-dokument som en e-posttext med Java.
- Java API:er för att importera Word-dokument i e-post
- Skicka ett Word-dokument i E-posttexten
- Skaffa en gratis API-licens
Java API:er för att importera Word-dokument i e-post
För att importera och skicka ett Word-dokument i en e-posttext kommer vi att utnyttja funktionerna i API:erna Aspose.Words for Java och Aspose.Email for Java. Det förra kommer att användas för att spara Word-dokumentet i MHTML-format, medan det senare kommer att användas för att skapa och skicka e-postmeddelandet. Du kan ladda ner API:erna från följande avsnitt eller installera dem med Maven-konfigurationerna.
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-words</artifactId>
<version>21.4</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-email</artifactId>
<version>21.3</version>
<classifier>jdk16</classifier>
</dependency>
Skicka ett Word-dokument i Email Body med Java
Följande är stegen för att importera och skicka ett Word-dokument i en e-posttext.
- Ladda Word-dokumentet med klassen com.aspose.words.Document.
- Skapa en instans av klassen ByteArrayOutputStream.
- Spara Word-dokumentet som MHTML i ByteArrayOutputStream-objektet.
- Ladda MHTML i ett ByteArrayInputStream objekt.
- Skapa en instans av klassen com.aspose.email.MailMessage och ladda MHTML som sparats i ByteArrayInputStream-objektet.
- Ställ in e-postfält som Till, Från, Ämne, etc.
- Skapa en instans av klassen com.aspose.email.SmtpClient
- Ställ in värden och skicka e-postmeddelandet med metoden SmtpClient.send(MailMessage).
Följande kodexempel visar hur man skickar ett Word-dokument som en e-posttext.
// Ladda dokumentet
Document doc = new Document("Document.doc");
// Spara till en utdataström i MHTML-format.
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
doc.save(outputStream, SaveFormat.MHTML);
// Ladda MHTML-strömmen tillbaka till en indataström för att använda med Aspose.Email.
ByteArrayInputStream inputStream = new ByteArrayInputStream(outputStream.toByteArray());
// Skapa ett Aspose.Email MIME-e-postmeddelande från strömmen.
MailMessage message = MailMessage.load(inputStream);
message.setFrom(new MailAddress("your_from@email.com"));
message.getTo().add("your_to@email.com");
message.setSubject("Aspose.Words + Aspose.Email MHTML Test Message");
// Spara meddelandet i Outlook MSG-format.
message.save("Message.msg", SaveOptions.getDefaultMsg());
// Skicka meddelandet med Aspose.Email
SmtpClient client = new SmtpClient();
client.setHost("your_smtp.com");
client.send(message);
Skaffa en gratis API-licens
Du kan prova API:erna som används i den här artikeln utan utvärderingsbegränsningar genom att skaffa en gratis tillfällig licens.
Slutsats
I den här artikeln har du lärt dig hur du importerar och skickar ett Word-dokument som en e-posttext med Java. Dessutom har kodexemplet visat hur man skickar e-postmeddelandet som består av ett Word-dokument med hjälp av en SMTP-klient. Du kan utforska mer om API:erna som används i artikeln genom att besöka följande dokumentation.