Introduction
Useful calsses
- EmailService - sending email
- EmailConfigurationService - downloading mailbox configurations
Download configuration
// Download configuration of the mailbox EmailConfiguration emailConfiguration = emailConfigurationService.getDefaultConfiguration(); // Download default configuration EmailConfiguration emailConfiguration1 = emailConfigurationService.get( 1L,EmailConfiguration.JOIN_CONNECTION ); // Download configuration by database id
Sending an email using the EmailMessage object
Sending to many and copies and blind copies
EmailMessage emailMessage = EmailMessage.builder()
.recipients( Arrays.asList( "test@testowy.pl", "test@testowy.pl") ) //Recipients
.copyRecipients( Arrays.asList( "test-copy@testowy.pl", "test-copy1@testowy.pl") ) // Copy Recipients
.hiddenCopyRecipients( Arrays.asList( "test-blindcopy@testowy.pl", "test-blindcopy1@testowy.pl") ) // Blind Copy Recipients
.subject( "Testowy email" ) //Message title
.content( "To jest przykładowy email" ) //Message content
.build();
Additional configuration options
EmailMessage emailMessage = EmailMessage.builder()
.recipient( "test@testowy.pl" ) //Message recipient
.subject( "Testowy email" ) //Temat wiadomości
.content( "To jest <b>przykładowy</b> email" ) //Message content
.isHtml( true ) //Is the message content html
.test( false ) // Is this a test message, if so it will not be sent buffered
.build();
Attachments
//Create attachments
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" ) //Message recipient
.subject( "Testowy email" ) //Message title
.content( "To jest przykładowy email" ) //Message content
.attachments( Arrays.asList( zal1, zal2 ) ) // Attachments
.build();
Parameter substitution in theme and content
//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" ) //Message recipient
.subject( "Testowy email @param1@" ) //Message title
.content( "Test: @param2@" ) //Message content
.params( paramMap ) // Parameters to be substituted in the title and content of the message
.build();
Content template
// Za pomocą pliku
EmailMessage emailMessage = EmailMessage.builder()
.recipient( "test@testowy.pl" ) //Message recipient
.subject( "Testowy email" ) //Message title
.template( new File( "C:\\test\\szablon.html" ) ) // Content template
.build();
// Za pomocą input streama
try ( InputStream inputStream = new FileInputStream( "C:\\test\\szablon1.html" ) )
{
EmailMessage emailMessage = EmailMessage.builder()
.recipient( "test@testowy.pl" ) //Message recipient
.subject( "Testowy email" ) //Message title
.templateInputStream( inputStream ) // Content template
.build();
}
Additional information for audits
//Tworzenie informacji dla audytu
EmailInfo emailInfo = EmailInfo.builder()
.activityId( "zad23" )
.processId( "proc73453" )
.build();
EmailMessage emailMessage = EmailMessage.builder()
.recipient( "test@testowy.pl" ) //Message recipient
.subject( "Testowy email" ) //Message title
.content( "Testowa zawartość" ) // Message content
.emailInfo( emailInfo ) // Attaching information
.build();
Sending an email using MimeMessage
//Session download Session mailSession = emailService.getSession(); // Default session download Session mailSession1 = emailService.getSession(emailConfiguration); // Downloading a session from a specific configuration //Tworzenie wiadomości MimeMessage mimeMessage = new MimeMessage( mailSession ); mimeMessage.addRecipients( Message.RecipientType.TO, "test@testowy.pl" ); // Message recipient mimeMessage.setSubject( "Testowa wiadomość", "UTF-8" ); // Set title mimeMessage.setSentDate( new Date() ); // Sending date setting mimeMessage.setFrom( new InternetAddress( "test-nadawca@testowy.pl" ) ); // Sender setup mimeMessage.setText( "Testowa zawartość" ); // Ustawienie zawartości emailService.send( mimeMessage ); // Sending from a basic configuration emailService.send( mimeMessage, emailConfiguration ); // Sending from a specific configuration emailService.send( mimeMessage, emailInfo ); // Sending with basic configuration and information for audits emailService.send( mimeMessage, emailConfiguration, emailInfo ); // Sending from the given configuration and information for audits
