Wstęp

Przydatne klasy:

 

Pobieranie konfiguracji

//Pobieranie konfiguracji skrzynki pocztowej
EmailConfiguration emailConfiguration = emailConfigurationService.getDefaultConfiguration(); // Pobranie domyślnej konfiguracji
EmailConfiguration emailConfiguration1 = emailConfigurationService.get( 1L,EmailConfiguration.JOIN_CONNECTION ); // Pobranie po id konfiguracji w bazie danych

 

Wysyłanie maila za pomocą obiektu EmailMessage

EmailMessage emailMessage = EmailMessage.builder()
    .recipient( "test@testowy.pl" ) // Odbiorca wiadomości
    .subject( "Testowy email" ) // Temat wiadomości
    .content( "To jest przykładowy email" ) // Zawartość wiadomości
    .build();

emailService.send( emailMessage ); // Za pomocą domyślnej konfiguracji
emailService.send( emailMessage, emailConfiguration ); // Za pomocą pobranej wcześniej konfiguracji
EmailMessage emailMessage = EmailMessage.builder()
    .recipients( Arrays.asList( "test@testowy.pl", "test@testowy.pl") ) //Odbiorcy
    .copyRecipients( Arrays.asList( "test-copy@testowy.pl", "test-copy1@testowy.pl") ) // Odbiorcy kopii
    .hiddenCopyRecipients( Arrays.asList( "test-blindcopy@testowy.pl", "test-blindcopy1@testowy.pl") ) // Odbiorcy ślepych kopii
    .subject( "Testowy email" ) //Temat wiadomości
    .content( "To jest przykładowy email" ) //Zawartość wiadomości
    .build();
EmailMessage emailMessage = EmailMessage.builder()
    .recipient( "test@testowy.pl" ) //Odbiorca wiadomości
    .subject( "Testowy email" ) //Temat wiadomości
    .content( "To jest <b>przykładowy</b> email" ) //Zawartość wiadomości
    .isHtml( true ) //Czy zawartość wiadomości jest html
    .test( false ) // Czy jest to wiadomość testowa, jeśli tak to nie będzie wysyłana buforowo
    .build();
//Tworzenie załączników
EmailAttachment zal1 = EmailAttachment.builder()
    .file( new File( "C:\\test\\plik1.txt" ) )
    .filename( "zal1.txt" )
    .build();

EmailAttachment zal2 = EmailAttachment.builder()
    .file( new File( "C:\\test\\plik2.txt" ) )
    .filename( "zal2.txt" )
    .build();

EmailMessage emailMessage = EmailMessage.builder()
    .recipient( "test@testowy.pl" ) //Odbiorca wiadomości
    .subject( "Testowy email" ) //Temat wiadomości
    .content( "To jest przykładowy email" ) //Zawartość wiadomości
    .attachments( Arrays.asList( zal1, zal2 ) ) // Dołączanie załączników
    .build();
//Tworzenie listy parametrów
Map<String,String> paramMap = new HashMap<>();
paramMap.put( "param1","Pierwszy argument" );
paramMap.put( "param2","Drugi argument" );

EmailMessage emailMessage = EmailMessage.builder()
    .recipient( "test@testowy.pl" ) //Odbiorca wiadomości
    .subject( "Testowy email @param1@" ) //Temat wiadomości
    .content( "Test: @param2@" ) //Zawartość wiadomości
    .params( paramMap ) // Parametry, które mają zostać podmienione w temacie i zawartości wiadomości
    .build();
// Za pomocą pliku
EmailMessage emailMessage = EmailMessage.builder()
    .recipient( "test@testowy.pl" ) //Odbiorca wiadomości
    .subject( "Testowy email" ) //Temat wiadomości
    .template( new File( "C:\\test\\szablon.html" ) ) // Szablon zawartości
    .build();
 
// Za pomocą input streama
try ( InputStream inputStream = new FileInputStream( "C:\\test\\szablon1.html" ) )
{
    EmailMessage emailMessage = EmailMessage.builder()
        .recipient( "test@testowy.pl" ) //Odbiorca wiadomości
        .subject( "Testowy email" ) //Temat wiadomości
        .templateInputStream( inputStream ) // Szablon zawartości
        .build();
}
//Tworzenie informacji dla audytu
EmailInfo emailInfo = EmailInfo.builder()
    .activityId( "zad23" )
    .processId( "proc73453" )
    .build();

EmailMessage emailMessage = EmailMessage.builder()
    .recipient( "test@testowy.pl" ) //Odbiorca wiadomości
    .subject( "Testowy email" ) //Temat wiadomości
    .content( "Testowa zawartość" ) // Zawartość wiadomości
    .emailInfo( emailInfo ) // Dołączanie informacji
    .build();

 

Wysyłanie maila za pomocą MimeMessage

//Pobranie sesji
Session mailSession = emailService.getSession(); // Pobranie domyślnej sesji
Session mailSession1 = emailService.getSession(emailConfiguration); // Pobranie sesji z konkretnej konfiguracji

//Tworzenie wiadomości
MimeMessage mimeMessage = new MimeMessage( mailSession );
mimeMessage.addRecipients( Message.RecipientType.TO, "test@testowy.pl" ); // Dodanie odbiorcy
mimeMessage.setSubject( "Testowa wiadomość", "UTF-8" ); // Ustawienie tematu
mimeMessage.setSentDate( new Date() ); // Ustawienie daty wysłania
mimeMessage.setFrom( new InternetAddress( "test-nadawca@testowy.pl" ) ); // Ustawienie nadawcy
mimeMessage.setText( "Testowa zawartość" ); // Ustawienie zawartości

emailService.send( mimeMessage ); // Wysłanie z podstawowej konfiguracji
emailService.send( mimeMessage, emailConfiguration ); // Wysłanie z podanej konfiguracji
emailService.send( mimeMessage, emailInfo ); // Wysłanie z podstawowej konfiguracji oraz informacją dla audytów
emailService.send( mimeMessage, emailConfiguration, emailInfo ); // Wysłanie z podanej konfiguracji oraz informacją dla audytów