Twórz i wysyłaj wiadomości e-mail programu Outlook Java

Aspose.Email for Java to potężny interfejs API do przetwarzania wiadomości e-mail, który zapewnia wszystkie podstawowe i zaawansowane funkcje zarządzania pocztą e-mail. Pozwala tworzyć wiadomości e-mail programu Outlook, czytać istniejące wiadomości e-mail i konwertować wiadomości MSG, EML, PST, OST, MBOX i MHT do innych formatów z poziomu aplikacji Java. W tym artykule pokażę kilka podstawowych, ale ważnych funkcji tworzenia i wysyłania wiadomości e-mail programu Outlook przy użyciu języka Java.

W tym artykule omówię następujące funkcje tworzenia i wysyłania wiadomości e-mail:

Interfejs API poczty e-mail Java — instalacja

Aspose.Email for Java można pobrać z sekcji Downloads lub zainstalować przy użyciu następujących konfiguracji Maven.

Magazyn:

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>

Zależność:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-email</artifactId>
    <version>20.3</version>
    <classifier>jdk16</classifier>
</dependency>

Twórz wiadomości e-mail programu Outlook przy użyciu języka Java

Aspose.Email dla języka Java umożliwia tworzenie wiadomości e-mail i zapisywanie ich w żądanym formacie wiadomości e-mail, w tym EML, EMLX, MSG i MHTML. Poniżej przedstawiono kroki tworzenia wiadomości e-mail i zapisywania jej jako pliku.

  • Utwórz instancję klasy MailMessage.
  • Ustaw właściwości wiadomości, takie jak Temat, Treść, Do, DW itp.
  • W razie potrzeby dodaj załączniki.
  • Zapisz wiadomość e-mail w żądanym formacie, używając metody MailMessage.save().

Poniższy przykładowy kod pokazuje, jak utworzyć wiadomość e-mail programu Outlook przy użyciu języka Java.

MailMessage message = new MailMessage();

// Ustaw temat wiadomości, treść i informacje o nadawcy
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));

// Dodaj do odbiorców i odbiorców DW
message.getTo().addItem(new MailAddress("to1@domain.com", "Recipient 1", false));
message.getCC().addItem(new MailAddress("cc1@domain.com", "Recipient 3", false));

// Dodaj załączniki
message.getAttachments().addItem(new Attachment("word.docx"));

// Zapisz wiadomość w formatach EML, EMLX, MSG i 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());

Utwórz wiadomość e-mail z treścią HTML za pomocą języka Java

W poprzednim przykładzie po prostu utworzyliśmy wiadomość e-mail w postaci zwykłego tekstu i zapisaliśmy ją jako plik wiadomości e-mail. Jednak większość dzisiejszych wiadomości e-mail jest tworzona z treścią HTML, aby dobrze uporządkować i zaprezentować treść wiadomości e-mail. W tym przypadku znaczniki HTML służą do określenia układu wiadomości e-mail. Zobaczmy, jak utworzyć wiadomość e-mail z treścią HTML za pomocą Aspose.Email for Java.

Poniższy przykładowy kod pokazuje, jak utworzyć wiadomość e-mail z treścią HTML przy użyciu języka Java.

MailMessage message = new MailMessage();

// Ustaw temat wiadomości, treść i informacje o nadawcy
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));

// Dodaj do odbiorców i odbiorców DW
message.getTo().addItem(new MailAddress("to1@domain.com", "Recipient 1", false));
message.getCC().addItem(new MailAddress("cc1@domain.com", "Recipient 3", false)); 

// Zapisz wiadomość w formatach EML, EMLX, MSG i MHTML
message.save("EmailMessage.eml", SaveOptions.getDefaultEml()); 

Utwórz wiadomość e-mail z określonym kodowaniem za pomocą języka Java

Aspose.Email for Java pozwala również ustawić żądane kodowanie tekstu dla wiadomości e-mail. Standard kodowania służy do informowania aplikacji pocztowej lub przeglądarki o tym, jak interpretować znaki w treści wiadomości e-mail. Poniżej przedstawiono kroki tworzenia wiadomości e-mail z określonym standardem kodowania.

Poniższy przykładowy kod pokazuje, jak utworzyć wiadomość e-mail z określonym standardem kodowania przy użyciu języka Java.

MailMessage message = new MailMessage();

// Ustaw temat wiadomości, treść i informacje o nadawcy
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));

// Określ kodowanie 
message.setBodyEncoding(Charset.forName("US-ASCII"));

// Dodaj do odbiorców i odbiorców DW
message.getTo().addItem(new MailAddress("to1@domain.com", "Recipient 1", false));
message.getCC().addItem(new MailAddress("cc1@domain.com", "Recipient 3", false)); 

// Zapisz wiadomość w formatach EML, EMLX, MSG i MHTML
message.save("EmailMessage.eml", SaveOptions.getDefaultEml()); 

Wysyłaj wiadomości e-mail programu Outlook przy użyciu języka Java

Po utworzeniu wiadomości e-mail można ją wysłać do odbiorców za pomocą protokołu SMTP (Simple Mail Transfer Protocol). Poniżej przedstawiono kroki, aby wysłać wiadomość e-mail za pomocą Aspose.Email for Java.

  • Utwórz nową wiadomość e-mail lub załaduj istniejącą, używając klasy MailMessage.
  • Utwórz instancję klasy SmtpClient i ustaw jej hosta, nazwę użytkownika, hasło i port.
  • Wyślij e-mail za pomocą metody SmtpClient.send().

Poniższy przykładowy kod pokazuje, jak wysłać wiadomość e-mail za pośrednictwem klienta SMTP w Javie.

MailMessage message = new MailMessage();

// Ustaw temat wiadomości, treść i informacje o nadawcy
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));

// Określ kodowanie 
message.setBodyEncoding(Charset.forName("US-ASCII"));

// Dodaj do odbiorców i odbiorców DW
message.getTo().addItem(new MailAddress("to1@domain.com", "Recipient 1", false));
message.getCC().addItem(new MailAddress("cc1@domain.com", "Recipient 3", false)); 

// Utwórz instancję klasy SmtpClient
SmtpClient client = new SmtpClient();

// Określ serwer hosta poczty, nazwę użytkownika, hasło, port
client.setHost("smtp.server.com");
client.setUsername("Username");
client.setPassword("Password");
client.setPort(25);

try
{
	// Client.Send wyśle tę wiadomość
	client.send(message); 
}

catch (Exception ex)
{
	ex.printStackTrace();
}

Wysyłaj wiadomości e-mail asynchronicznie przy użyciu języka Java

Aspose.Email dla Javy umożliwia także asynchroniczne wysyłanie wiadomości e-mail. W tym celu możesz użyć metody SmtpClient.beginSend(). Poniższy przykładowy kod pokazuje, jak asynchronicznie wysyłać wiadomości e-mail przy użyciu języka Java.

MailMessage message = new MailMessage();

// Ustaw temat wiadomości, treść i informacje o nadawcy
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));

// Określ kodowanie 
message.setBodyEncoding(Charset.forName("US-ASCII"));

// Dodaj do odbiorców i odbiorców DW
message.getTo().addItem(new MailAddress("to1@domain.com", "Recipient 1", false));
message.getCC().addItem(new MailAddress("cc1@domain.com", "Recipient 3", false)); 

// Utwórz instancję klasy SmtpClient
SmtpClient client = new SmtpClient();

// Określ serwer hosta poczty, nazwę użytkownika, hasło, port
client.setHost("smtp.server.com");
client.setUsername("Username");
client.setPassword("Password");
client.setPort(25);

try
{
	// Client.beginSend wyśle tę wiadomość
	client.beginSend(message); 
}

catch (Exception ex)
{
	ex.printStackTrace();
}

Wysyłaj wiadomości e-mail z potwierdzeniem odczytu za pomocą języka Java

Do wiadomości e-mail można również dodać prośbę o potwierdzenie przeczytania. Ta funkcja umożliwia otrzymanie powiadomienia po odebraniu wiadomości e-mail. Poniżej przedstawiono kroki tworzenia i wysyłania wiadomości e-mail zawierającej prośbę o potwierdzenie przeczytania.

Poniższy przykładowy kod pokazuje, jak wysłać wiadomość e-mail zawierającą potwierdzenie przeczytania przy użyciu języka Java.

MailMessage message = new MailMessage();

// Ustaw temat wiadomości, treść i informacje o nadawcy
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));

// Ustaw opcje powiadomień
message.setDeliveryNotificationOptions(DeliveryNotificationOptions.OnSuccess);
message.getHeaders().add("Return-Receipt-To", "from@domain.com");
message.getHeaders().add("Disposition-Notification-To", "from@domain.com"); 

// Dodaj do odbiorców 
message.getTo().addItem(new MailAddress("to1@domain.com", "Recipient 1", false)); 

// Utwórz instancję klasy SmtpClient
SmtpClient client = new SmtpClient();

// Określ serwer hosta poczty, nazwę użytkownika, hasło, port
client.setHost("smtp.server.com");
client.setUsername("Username");
client.setPassword("Password");
client.setPort(25);

try
{
	// Client.Send wyśle tę wiadomość
	client.send(message);
}

catch (Exception ex)
{
	ex.printStackTrace();
}

Wysyłaj masowe wiadomości e-mail za pomocą języka Java

Może się zdarzyć, że będziesz musiał wysłać wiele różnych e-maili. W takim przypadku możesz po prostu dodać wszystkie wiadomości e-mail do obiektu MailMessageCollection i przekazać je klientowi SMTP w celu wysłania. Poniższy przykładowy kod pokazuje, jak wysłać dużą liczbę wiadomości e-mail przy użyciu języka Java.

// Utwórz instancje klasy MailMessage i określ Do, Od, Temat i Wiadomość
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?");

// Utwórz instancję MailMessageCollection i dodaj do niej wiadomości e-mail
MailMessageCollection manyMsg = new MailMessageCollection();
manyMsg.addItem(message1);
manyMsg.addItem(message2);
manyMsg.addItem(message3);		

// Utwórz SmtpClient i określ serwer, port, nazwę użytkownika i hasło
SmtpClient client = new SmtpClient("mail.server.com", 25, "Username", "Password");
 
try
{  
	// Wysłać wiadomości
	client.send(manyMsg); 
}
catch (Exception ex)
{
	  ex.printStackTrace();
}

Demo na żywo

Wniosek

W tym poście pokazałem, jak tworzyć wiadomości e-mail programu Outlook i zapisywać je w formatach EML, MSG i MTH przy użyciu języka Java. Ponadto omówiono różne sposoby wysyłania wiadomości e-mail w Javie z wykorzystaniem klienta STMP. Możesz dowiedzieć się więcej o Java Email Library Aspose, korzystając z dokumentacji.

Zobacz też

Tworzenie wiadomości programu Outlook i wysyłanie wiadomości e-mail przy użyciu języka C#Pobieranie wiadomości e-mail z serwera POP3 w języku PythonPobierz listę kontaktów z programu Microsoft Exchange Server w języku C#
Pobierz listę kontaktów z Microsoft Exchange Server w JavieImportuj kontakty z Gmaila w języku C#Importuj kontakty z Gmaila w Javie
Przenieś wiadomość e-mail do folderu na serwerze Microsoft Exchange w języku C#Przenieś wiadomość e-mail do folderu na serwerze Microsoft Exchange w JavieAnalizuj pliki PST programu Outlook w języku Python
Odczyt wiadomości e-mail z udostępnionej skrzynki pocztowej na serwerze Exchange w języku C#Odczyt wiadomości e-mail z udostępnionej skrzynki pocztowej na serwerze Exchange w JavieOdczyt plików PST programu MS Outlook w języku C# .NET
Odczyt plików PST MS Outlook w JavieOdczytywanie plików programu Outlook MSG w języku C#Praca z konwersacjami na MS Exchange Server w języku C#
Praca z konwersacjami na MS Exchange Server w JaviePisanie i odczytywanie wiadomości w pamięci masowej Thunderbird w języku C#Pisanie i odczytywanie wiadomości w pamięci masowej Thunderbird w Javie
Pisanie i odczytywanie wiadomości w pamięci masowej Thunderbird w PythonWysyłanie wiadomości e-mail przez SMTP w PythonOdczyt wiadomości e-mail z serwera Exchange w języku C#