in src/main/java/org/apache/maven/plugins/announcement/mailsender/ProjectJavamailMailSender.java [116:200]
public void send( MailMessage mail )
throws MailSenderException
{
verify( mail );
try
{
Authenticator auth = null;
if ( getUsername() != null )
{
auth = new Authenticator()
{
protected PasswordAuthentication getPasswordAuthentication()
{
return new PasswordAuthentication( getUsername(), getPassword() );
}
};
}
Session session = Session.getDefaultInstance( props, auth );
session.setDebug( getLogger().isDebugEnabled() );
Message msg = new MimeMessage( session );
InternetAddress addressFrom = new InternetAddress( mail.getFrom().getRfc2822Address() );
msg.setFrom( addressFrom );
if ( mail.getToAddresses().size() > 0 )
{
InternetAddress[] addressTo = new InternetAddress[mail.getToAddresses().size()];
int count = 0;
for ( Object o : mail.getToAddresses() )
{
String address = ( (MailMessage.Address) o ).getRfc2822Address();
addressTo[count++] = new InternetAddress( address );
}
msg.setRecipients( Message.RecipientType.TO, addressTo );
}
if ( mail.getCcAddresses().size() > 0 )
{
InternetAddress[] addressCc = new InternetAddress[mail.getCcAddresses().size()];
int count = 0;
for ( Object o : mail.getCcAddresses() )
{
String address = ( (MailMessage.Address) o ).getRfc2822Address();
addressCc[count++] = new InternetAddress( address );
}
msg.setRecipients( Message.RecipientType.CC, addressCc );
}
if ( mail.getBccAddresses().size() > 0 )
{
InternetAddress[] addressBcc = new InternetAddress[mail.getBccAddresses().size()];
int count = 0;
for ( Object o : mail.getBccAddresses() )
{
String address = ( (MailMessage.Address ) o ).getRfc2822Address();
addressBcc[count++] = new InternetAddress( address );
}
msg.setRecipients( Message.RecipientType.BCC, addressBcc );
}
// Setting the Subject and Content Type
msg.setSubject( mail.getSubject() );
msg.setContent( mail.getContent(), mail.getContentType() == null ? "text/plain" : mail.getContentType() );
if ( mail.getSendDate() != null )
{
msg.setHeader( "Date", DateFormatUtils.getDateHeader( mail.getSendDate() ) );
}
else
{
msg.setHeader( "Date", DateFormatUtils.getDateHeader( new Date() ) );
}
// Send the message
Transport.send( msg );
}
catch ( MessagingException e )
{
throw new MailSenderException( "Error while sending mail.", e );
}
}