Skip to content

Commit d18d503

Browse files
committed
Updated text and code part for Convert each email attachment to different format documentation
1 parent a134551 commit d18d503

4 files changed

Lines changed: 249 additions & 39 deletions

File tree

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,171 @@
1+
Return-Path: <mlemos@acm.org>
2+
To: Manuel Lemos <mlemos@linux.local>
3+
Subject: Testing Manuel Lemos' MIME E-mail composing and sending PHP class: HTML message
4+
From: mlemos <mlemos@acm.org>
5+
Reply-To: mlemos <mlemos@acm.org>
6+
Sender: mlemos@acm.org
7+
X-Mailer: http://www.phpclasses.org/mimemessage $Revision: 1.63 $ (mail)
8+
MIME-Version: 1.0
9+
Content-Type: multipart/mixed; boundary="652b8c4dcb00cdcdda1e16af36781caf"
10+
Message-ID: <20050430192829.0489.mlemos@acm.org>
11+
Date: Sat, 30 Apr 2005 19:28:29 -0300
12+
13+
14+
--652b8c4dcb00cdcdda1e16af36781caf
15+
Content-Type: multipart/related; boundary="6a82fb459dcaacd40ab3404529e808dc"
16+
17+
18+
--6a82fb459dcaacd40ab3404529e808dc
19+
Content-Type: multipart/alternative; boundary="69c1683a3ee16ef7cf16edd700694a2f"
20+
21+
22+
--69c1683a3ee16ef7cf16edd700694a2f
23+
Content-Type: text/plain; charset=ISO-8859-1
24+
Content-Transfer-Encoding: quoted-printable
25+
26+
This is an HTML message. Please use an HTML capable mail program to read
27+
this message.
28+
29+
--69c1683a3ee16ef7cf16edd700694a2f
30+
Content-Type: text/html; charset=ISO-8859-1
31+
Content-Transfer-Encoding: quoted-printable
32+
33+
<html>
34+
<head>
35+
<title>Testing Manuel Lemos' MIME E-mail composing and sending PHP class: H=
36+
TML message</title>
37+
<style type=3D"text/css"><!--
38+
body { color: black ; font-family: arial, helvetica, sans-serif ; backgroun=
39+
d-color: #A3C5CC }
40+
A:link, A:visited, A:active { text-decoration: underline }
41+
--></style>
42+
</head>
43+
<body>
44+
<table background=3D"cid:4c837ed463ad29c820668e835a270e8a.gif" width=3D"100=
45+
%">
46+
<tr>
47+
<td>
48+
<center><h1>Testing Manuel Lemos' MIME E-mail composing and sending PHP cla=
49+
ss: HTML message</h1></center>
50+
<hr>
51+
<P>Hello Manuel,<br><br>
52+
This message is just to let you know that the <a href=3D"http://www.phpclas=
53+
ses.org/mimemessage">MIME E-mail message composing and sending PHP class</a=
54+
> is working as expected.<br><br>
55+
<center><h2>Here is an image embedded in a message as a separate part:</h2>=
56+
</center>
57+
<center><img src=3D"cid:ae0357e57f04b8347f7621662cb63855.gif"></center>Than=
58+
k you,<br>
59+
mlemos</p>
60+
</td>
61+
</tr>
62+
</table>
63+
</body>
64+
</html>
65+
--69c1683a3ee16ef7cf16edd700694a2f--
66+
67+
--6a82fb459dcaacd40ab3404529e808dc
68+
Content-Type: image/gif; name="logo.gif"
69+
Content-Transfer-Encoding: base64
70+
Content-Disposition: inline; filename="logo.gif"
71+
Content-ID: <ae0357e57f04b8347f7621662cb63855.gif>
72+
73+
R0lGODlhlgAjAPMJAAAAAAAA/y8vLz8/P19fX19f339/f4+Pj4+Pz7+/v///////////////////
74+
/////yH5BAEAAAkALAAAAACWACMAQwT+MMlJq7046827/2AoHYChGAChAkBylgKgKClFyEl6xDMg
75+
qLFBj3C5uXKplVAxIOxkA8BhdFCpDlMK1urMTrZWbAV8tVS5YsxtxmZHBVOSCcW9zaXyNhslVcto
76+
RBp5NQYxLAYGLi8oSwoJBlE+BiSNj5E/PDQsmy4pAJWQLAKJY5+hXhZ2dDYldFWtNSFPiXssXnZR
77+
k5+1pjpBiDMJUXG/Jo7DI4eKfMSmxsJ9GAUB1NXW19jZ2tvc3d7f4OHi2AgZN5vom1kk6F7s6u/p
78+
m3Ab7AOIiCxOyZuBIv8AOeTJIaYQjiR/kKTr5GQNE3pYSjCJ9mUXClRUsLxaZGciC0X+OlpoOuQo
79+
ZKdNJnIoKfnxRUQh6FLG0iLxIoYnJd0JEKISJyAQDodp3EUDC48oDnUY7HFI3wEDRjzycQJVZCQT
80+
Ol7NK+G0qgtkAcOKHUu2rNmzYTVqRMt2bB49bHompSchqg6HcGeANSMxr8sEa2y2HexnSEUTuWri
81+
SSbkYh7BgGVAnhB1b2REibESYaRoBgqIMYx59tFM9AvQffVG49P5NMZkMlHKhJPJb0knmSKZ6kSX
82+
JtbeF3Am7ocok6c7cM7pU5xcXiJJETUz16qPrzEfaFgZpvzn7h86YV5r/1mxXeAUMVyEIpnVUGpN
83+
RlG2ka9b3lP3pm2l6u7P+l/YLj3+RlEHbz1C0kRxSITQaAcilVBMEzmkkEQO8oSOBNg9SN+AX6hV
84+
z1pjgJiAhwCRsY8ZIp6xj1ruqCgeGeKNGEZwLnIwzTg45qjjjjz2GEA5hAUp5JBEFmnkkSCoWEcZ
85+
X8yohZNK1pFGPQS4hx0qNSLJlk9wCQORYu5QiMd7bUzGVyNlRiOHSlpuKdGEItHQ3HZ18beRRyws
86+
YSY/waDTiHf/tWlWUBAJiMJ1/Z0XXU7N0FnREpKM4NChCgbyRDq9XYpOplaKopN9NMkDnBbG+UMC
87+
QwLWIeaiglES6AjGARcPHCWoVAiatcTnGTABZoLPaPG1phccPv366mEvWEFSLnj+2QaonECwcJt/
88+
e1Zw3lJvVMmftBdVNQS3UngLCA85YHIQOy6JO9N4eZW7KJwtOUZmGwOMWqejwVW6RQzaikRHX3yI
89+
osKhDAq8wmnKSmdMwNidSOof9ZG2DoV0RfTVmLFtGmNk+CoZna0HQnPHS3AhRbIeDpqmR09E0bsu
90+
soeaw994z+rwQVInvqLenBftYjLOVphLFHhV9qsnez8AEUbQRgO737AxChjmyANxuEFHSGi7hFCV
91+
4jxLst2N8sRJYU+SHiAKjlmCgz2IffbLI5aaQR71hnkxq1ZfHSfKata6YDCJDMAQwY7wOgzhjxgj
92+
VFQnKB5uX4mr9qJ79pann+VcfcSzsSCd2mw5scqRRvlQ6TgcUelYhu75iPE4JejrsJOFQAG01277
93+
7bjnrvvuvPfu++/ABy887hfc6OPxyCevPDdAVoDA89BHL/301Fdv/fXYZ6/99tx3Pz0FEQAAOw==
94+
95+
--6a82fb459dcaacd40ab3404529e808dc
96+
Content-Type: image/gif; name="background.gif"
97+
Content-Transfer-Encoding: base64
98+
Content-Disposition: inline; filename="background.gif"
99+
Content-ID: <4c837ed463ad29c820668e835a270e8a.gif>
100+
101+
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
158+
eZmYmZmauZmc2ZlCEQEAOw==
159+
160+
--6a82fb459dcaacd40ab3404529e808dc--
161+
162+
--652b8c4dcb00cdcdda1e16af36781caf
163+
Content-Type: text/plain; name="attachment.txt"
164+
Content-Transfer-Encoding: base64
165+
Content-Disposition: attachment; filename="attachment.txt"
166+
167+
VGhpcyBpcyBqdXN0IGEgcGxhaW4gdGV4dCBhdHRhY2htZW50IGZpbGUgbmFtZWQgYXR0YWNobWVu
168+
dC50eHQgLg==
169+
170+
--652b8c4dcb00cdcdda1e16af36781caf--
171+

java/developer-guide/advanced-usage/converting/conversion-options-by-document-family/convert-each-email-attachment-to-different-format.md

Lines changed: 78 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -8,55 +8,94 @@ keywords: Convert email attachments, Convert MSG attachments, Convert EML attach
88
productName: GroupDocs.Conversion for Java
99
hideChildren: False
1010
---
11-
GroupDocs.Conversion provides a flexible API to control the conversion of documents that contain other documents.
11+
To convert each attachment within an email to a different format using [GroupDocs.Conversion for Java](https://products.groupdocs.com/conversion/java/), you can utilize the [EmailLoadOptions](https://reference.groupdocs.com/conversion/java/com.groupdocs.conversion.options.load/emailloadoptions/) class. This class provides various properties to customize the loading and conversion of email documents.
1212

1313
The following code snippet shows how to convert each attachment to a different format based on attachment type:
1414

15+
{{< tabs "code-example">}}
16+
{{< tab "ConvertEachEmailAttachmentToDifferentFormat.java" >}}
1517
```java
1618
import com.groupdocs.conversion.Converter;
17-
import com.groupdocs.conversion.options.load.EmailLoadOptions;
19+
import com.groupdocs.conversion.contracts.ConvertOptionsProvider;
20+
import com.groupdocs.conversion.contracts.LoadOptionsProvider;
21+
import com.groupdocs.conversion.contracts.SaveDocumentStreamForFileType;
22+
import com.groupdocs.conversion.examples.Constants;
23+
import com.groupdocs.conversion.filetypes.EmailFileType;
24+
import com.groupdocs.conversion.filetypes.WordProcessingFileType;
25+
import com.groupdocs.conversion.options.convert.ImageConvertOptions;
1826
import com.groupdocs.conversion.options.convert.PdfConvertOptions;
19-
import java.io.IOException;
27+
import com.groupdocs.conversion.options.convert.WordProcessingConvertOptions;
28+
import com.groupdocs.conversion.options.load.EmailLoadOptions;
29+
import com.groupdocs.conversion.utils.common.Path;
30+
import java.io.FileNotFoundException;
2031
import java.io.FileOutputStream;
21-
import java.nio.file.Files;
22-
import java.nio.file.Paths;
23-
import java.util.ArrayList;
24-
import java.util.List;
25-
...
26-
EmailLoadOptions emailLoadOptions = new EmailLoadOptions();
27-
emailLoadOptions.setConvertOwned(true);
28-
emailLoadOptions.setConvertOwner(true);
29-
emailLoadOptions.setDepth(2);
30-
31-
Converter converter=new Converter("sample_with_attachments.eml",emailLoadOptions);
32-
33-
PdfConvertOptions options = new PdfConvertOptions();
34-
options.setPassword("12345");
35-
options.setDpi(300);
36-
37-
final List<FileOutputStream> fileOutputStreams = new ArrayList<>();
38-
try{
39-
converter.convert(new SaveDocumentStreamForFileType(){
40-
@Override
41-
public Stream invoke(FileType t){
42-
try{
43-
FileOutputStream fileOutputStream=new FileOutputStream("converted-"+fileOutputStreams.size()+".pdf");
44-
fileOutputStreams.add(fileOutputStream);
45-
return new GroupDocsOutputStream(fileOutputStream);
46-
} catch(IOException e) {
47-
throw new RuntimeException(e);
48-
}
32+
33+
public class ConvertEachEmailAttachmentToDifferentFormat {
34+
public static void convert() {
35+
final int[] index = {0};
36+
37+
LoadOptionsProvider loadOptionsProvider = ()->{
38+
EmailLoadOptions emailOpt = new EmailLoadOptions();
39+
emailOpt.setConvertOwner(true);
40+
emailOpt.setConvertOwned(true);
41+
emailOpt.setDepth(2);
42+
return emailOpt;
43+
};
44+
45+
SaveDocumentStreamForFileType convertedStreamProvider = (fileType)->{
46+
String fileName = Path.combine(outputFolder, String.format("converted_%d.%s", index[0], fileType.getExtension()));
47+
index[0]++;
48+
try {
49+
return new FileOutputStream(fileName);
50+
} catch (FileNotFoundException e) {
51+
throw new RuntimeException(e);
4952
}
50-
}, options);
51-
}finally{
52-
try{
53-
for(OutputStream outputStream:fileOutputStreams){
54-
outputStream.close();
53+
};
54+
55+
ConvertOptionsProvider convertOptionsProvider = (sourceFileName, fileType) -> {
56+
if (fileType == EmailFileType.Eml)
57+
{
58+
return new WordProcessingConvertOptions();
5559
}
56-
} catch(IOException e) {
57-
//throw an exception
60+
61+
if (fileType == WordProcessingFileType.Txt)
62+
{
63+
return new PdfConvertOptions();
64+
}
65+
66+
return new ImageConvertOptions();
67+
};
68+
69+
// Initialize the converter with the source email document
70+
try(Converter converter = new Converter(Constants.SAMPLE_EML_WITH_ATTACHMENT, loadOptionsProvider))
71+
{
72+
converter.convert(convertedStreamProvider, convertOptionsProvider);
5873
}
5974
}
75+
76+
public static void main(String[] args){
77+
convert();
78+
}
79+
}
6080
```
81+
{{< /tab >}}
82+
{{< tab "with-attachment.eml" >}}
83+
{{< tab-text >}}
84+
`with-attachment.eml` is sample file used in this example. Click [here](/conversion/java/_sample_files/developer-guide/converting-documents/convert-each-email-attachment-to-different-format/with-attachment.eml) to download it.
85+
{{< /tab-text >}}
86+
{{< /tab >}}
87+
{{< tab "converted_0.docx" >}}
88+
{{< tab-text >}}
89+
`converted_0.docx` is converted DOCX document. Click [here](/conversion/java/_sample_files/developer-guide/converting-documents/convert-each-email-attachment-to-different-format/converted_0.docx) to download it.
90+
{{< /tab-text >}}
91+
{{< /tab >}}
92+
{{< tab "converted_1.pdf" >}}
93+
{{< tab-text >}}
94+
`converted_1.pdf` is converted attachment PDF document. Click [here](/conversion/java/_sample_files/developer-guide/converting-documents/convert-each-email-attachment-to-different-format/converted_1.pdf) to download it.
95+
{{< /tab-text >}}
96+
{{< /tab >}}
97+
{{< /tabs >}}
98+
99+
In this example, the [Converter](https://reference.groupdocs.com/conversion/java/com.groupdocs.conversion/converter/) class is initialized with the source email document and [EmailLoadOptions](https://reference.groupdocs.com/conversion/java/com.groupdocs.conversion.options.load/emailloadoptions/). Using the `convertOptionsProvider`, it becomes possible to apply appropriate [ConvertOptions](https://reference.groupdocs.com/conversion/java/com.groupdocs.conversion.options.convert/convertoptions/) to specify the target format for each conversion. Then, the `convertedStreamProvider` is invoked to handle and save each conversion.
61100

62-
{{< alert style="warning" >}}This functionality is introduced in v21.7{{< /alert >}}
101+
By utilizing these options, you can effectively control the loading and conversion process of email attachments to meet your specific requirements.

0 commit comments

Comments
 (0)