In deze zelfstudie onderzoeken we hoe u Email berichten op schijf kunt opslaan met Java. U ziet het codevoorbeeld en de stappen om een e-mailbericht naar schijf te schrijven in Java. De genoemde aanpak maakt gebruik van eenvoudige API-aanroepen die kunnen worden gebruikt in Java-omgevingen op Linux-, macOS- of Windows-besturingssystemen.
Stappen om e-mailberichten op schijf op te slaan met Java
- Configureer uw project door Aspose.Email JAR-bestand toe te voegen vanuit de Maven Repository
- Accountinformatie instellen zoals gebruikersnaam, wachtwoord, mailbox-URI
- E-mailclient maken met IEWSClient klasse
- Ontvang mailbox en herhaal elk bericht
- Sla elk bericht op de schijf op als EML- of MSG-bestand
U leert hoe u verbinding kunt maken met een mailbox met behulp van de Exchange-client. In dit voorbeeld maken we een e-mailclient met IEWSClient Class om toegang te krijgen tot de verzameling van alle berichten en ze allemaal op te slaan als een afzonderlijk bestand. Met dit eenvoudige proces kunt u e-mail op schijf opslaan in Java als EML- of MSG-bestanden. Het is een snelle en gemakkelijke implementatie van het schrijven van een e-mailbericht naar schijf in Java.
Code om e-mailberichten naar schijf te schrijven in Java
import com.aspose.email.EWSClient; | |
import com.aspose.email.ExchangeMailboxInfo; | |
import com.aspose.email.ExchangeMessageInfo; | |
import com.aspose.email.ExchangeMessageInfoCollection; | |
import com.aspose.email.IEWSClient; | |
import com.aspose.email.License; | |
import com.aspose.email.system.NetworkCredential; | |
public class SaveEmailToDisk { | |
public static void main(String[] args) throws Exception { // main method for saving Email to disk in Java | |
// Set the license before writing email messages to disk | |
License AsposeSaveEmailinJavaLicense = new License(); | |
AsposeSaveEmailinJavaLicense.setLicense("License.lic"); | |
// Setup account information | |
String MailBoxUri = "https://outlook.office365.com/ews/exchange.asmx"; | |
String Domain = ""; | |
String Username = "username@outlook.com"; | |
String Password = "userpassword"; | |
NetworkCredential CredentiaDetails = | |
new NetworkCredential(Username, Password, Domain); | |
// Create email client | |
IEWSClient EmailClient = EWSClient.getEWSClient(MailBoxUri, CredentiaDetails); | |
try | |
{ | |
// Get mail box | |
ExchangeMailboxInfo MailBoxInfo = EmailClient.getMailboxInfo(); | |
// Get the list of all messages from your mailbox | |
ExchangeMessageInfoCollection MessagesCollection = | |
EmailClient.listMessages(EmailClient.getMailboxInfo().getInboxUri()); | |
// Loop through all the messages with for loop | |
int MessageCount = 1; | |
for (ExchangeMessageInfo MessageInfo : MessagesCollection) | |
{ | |
String strMessageURI = MessageInfo.getUniqueUri(); | |
// Get message details | |
System.out.println("Subject: " + MessageInfo.getSubject()); | |
System.out.println("From: " + MessageInfo.getFrom().toString()); | |
System.out.println("To: " + MessageInfo.getTo().toString()); | |
System.out.println("Message ID: " + MessageInfo.getMessageId()); | |
System.out.println("Unique URI: " + MessageInfo.getUniqueUri()); | |
// Save each message to the disk | |
EmailClient.saveMessage(strMessageURI, "Messsage_" + MessageCount + ".eml"); | |
EmailClient.saveMessage(strMessageURI, "Messsage_" + MessageCount + ".msg"); | |
MessageCount++; | |
} | |
} | |
catch (Exception ex) | |
{ | |
System.out.println("Error: " + ex.getMessage()); | |
} | |
} | |
} |
In het vorige onderwerp hebben we ons gericht op het verzenden van e-mailvoorbeelden en hebben we hoe e-mail te verzenden met Java geleerd. In dit onderwerp wordt beschreven hoe u met eenvoudige stappen Java-e-mailberichten op schijf kunt opslaan.