Package org.opennms.javamail
Class JavaMailer
- java.lang.Object
-
- org.opennms.javamail.JavaMailer
-
public class JavaMailer extends java.lang.Object
Sends an email message using the Java Mail API- Version:
- $Id: $
- Author:
- David Hustace
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
JavaMailer.LoggingByteArrayOutputStream
static class
JavaMailer.LoggingTransportListener
-
Constructor Summary
Constructors Constructor Description JavaMailer()
Default constructor.JavaMailer(java.util.Properties javamailProps)
Constructor for JavaMailer.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addExtraHeader(java.lang.String key, java.lang.String value)
javax.mail.Message
buildMessage()
Build a complete message ready for sending.javax.mail.Authenticator
createAuthenticator()
Helper method to create an Authenticator based on Password Authenticationjavax.mail.internet.MimeBodyPart
createFileAttachment(java.io.File file)
Create a file attachment as a MimeBodyPart, checking to see if the file exists before we create the attachment.java.lang.String
getCharSet()
getCharSetjava.lang.String
getContentType()
getContentTypejava.lang.String
getEncoding()
getEncodingjava.util.Map<java.lang.String,java.lang.String>
getExtraHeaders()
java.lang.String
getFileName()
getFileNamejava.lang.String
getFrom()
getFromjava.io.InputStream
getInputStream()
getInputStreamjava.lang.String
getInputStreamContentType()
getInputStreamContentTypejava.lang.String
getInputStreamName()
getInputStreamNamejava.lang.String
getMailer()
getMailerjava.lang.String
getMailHost()
getMailHostjava.util.Properties
getMailProps()
This returns the properties configured in the javamail-configuration.properties file.java.lang.String
getMessageText()
getMessageTextjava.lang.String
getPassword()
getPasswordjava.lang.String
getReplyTo()
getReplyTojavax.mail.Session
getSession()
getSessionint
getSmtpPort()
getSmtpPortjava.lang.String
getSubject()
getSubjectjava.lang.String
getTo()
getTojava.lang.String
getTransport()
getTransportjava.lang.String
getUser()
getUserboolean
isAuthenticate()
isAuthenticateboolean
isDebug()
isDebugboolean
isQuitWait()
isQuitWaitboolean
isSmtpSsl()
isSmtpSslboolean
isStartTlsEnabled()
isStartTlsEnabledboolean
isUseJMTA()
isUseJMTAvoid
mailSend()
Sends a message based on properties set on this bean.void
sendMessage(javax.mail.Message message)
Send message.void
setAuthenticate(boolean authenticate)
setAuthenticatevoid
setCharSet(java.lang.String charSet)
setCharSetvoid
setContentType(java.lang.String contentType)
setContentTypevoid
setDebug(boolean debug)
setDebugvoid
setEncoding(java.lang.String encoding)
setEncodingvoid
setExtraHeaders(java.util.Map<java.lang.String,java.lang.String> headers)
void
setFileName(java.lang.String fileName)
setFileNamevoid
setFrom(java.lang.String from)
setFromvoid
setInputStream(java.io.InputStream inputStream)
setInputStreamvoid
setInputStreamContentType(java.lang.String inputStreamContentType)
setInputStreamContentTypevoid
setInputStreamName(java.lang.String inputStreamName)
setInputStreamNamevoid
setMailer(java.lang.String mailer)
setMailervoid
setMailHost(java.lang.String mail_host)
setMailHostvoid
setMessageText(java.lang.String messageText)
setMessageTextvoid
setPassword(java.lang.String password)
setPasswordvoid
setQuitWait(boolean quitWait)
setQuitWaitvoid
setSession(javax.mail.Session session)
setSessionvoid
setSmtpPort(int smtpPort)
setSmtpPortvoid
setSmtpSsl(boolean smtpSsl)
setSmtpSslvoid
setStartTlsEnabled(boolean startTlsEnabled)
setStartTlsEnabledvoid
setSubject(java.lang.String subject)
setSubjectvoid
setTo(java.lang.String to)
setTovoid
setTransport(java.lang.String transport)
setTransportvoid
setUseJMTA(boolean useMTA)
setUseJMTAvoid
setUser(java.lang.String user)
setUser
-
-
-
Constructor Detail
-
JavaMailer
public JavaMailer(java.util.Properties javamailProps) throws JavaMailerException
Constructor for JavaMailer.
- Parameters:
javamailProps
- aProperties
object.- Throws:
JavaMailerException
- if any.
-
JavaMailer
public JavaMailer() throws JavaMailerException
Default constructor. Default properties from javamailer-properties are set into session. To change these properties, retrieve the current properties from the session and override as needed.- Throws:
java.io.IOException
- if any.JavaMailerException
- if any.
-
-
Method Detail
-
mailSend
public void mailSend() throws JavaMailerException
Sends a message based on properties set on this bean.- Throws:
JavaMailerException
- if any.
-
createAuthenticator
public javax.mail.Authenticator createAuthenticator()
Helper method to create an Authenticator based on Password Authentication- Returns:
- a
Authenticator
object.
-
buildMessage
public javax.mail.Message buildMessage() throws JavaMailerException
Build a complete message ready for sending.- Returns:
- completed message, ready to be passed to Transport.sendMessage
- Throws:
JavaMailerException
- if any of the underlying operations fail
-
createFileAttachment
public javax.mail.internet.MimeBodyPart createFileAttachment(java.io.File file) throws javax.mail.MessagingException, JavaMailerException
Create a file attachment as a MimeBodyPart, checking to see if the file exists before we create the attachment.- Parameters:
file
- file to attach- Returns:
- attachment body part
- Throws:
javax.mail.MessagingException
- if we can't set the data handler or the file name on the MimeBodyPartJavaMailerException
- if the file does not exist or is not readable
-
sendMessage
public void sendMessage(javax.mail.Message message) throws JavaMailerException
Send message.- Parameters:
message
- aMessage
object.- Throws:
JavaMailerException
- if any.
-
getPassword
public java.lang.String getPassword()
getPassword
- Returns:
- Returns the password.
-
setPassword
public void setPassword(java.lang.String password)
setPassword
- Parameters:
password
- The password to set.
-
getUser
public java.lang.String getUser()
getUser
- Returns:
- Returns the user.
-
setUser
public void setUser(java.lang.String user)
setUser
- Parameters:
user
- The user to set.
-
isUseJMTA
public boolean isUseJMTA()
isUseJMTA
- Returns:
- Returns the _useMailHost.
-
setUseJMTA
public void setUseJMTA(boolean useMTA)
setUseJMTA
- Parameters:
useMTA
- a boolean.
-
getFrom
public java.lang.String getFrom()
getFrom
- Returns:
- Returns the from address.
-
getReplyTo
public java.lang.String getReplyTo()
getReplyTo
- Returns:
- Returns the replyTo address.
-
setFrom
public void setFrom(java.lang.String from)
setFrom
- Parameters:
from
- The from address to set.
-
isAuthenticate
public boolean isAuthenticate()
isAuthenticate
- Returns:
- Returns the authenticate boolean.
-
setAuthenticate
public void setAuthenticate(boolean authenticate)
setAuthenticate
- Parameters:
authenticate
- The authenticate boolean to set.
-
getFileName
public java.lang.String getFileName()
getFileName
- Returns:
- Returns the file name attachment.
-
setFileName
public void setFileName(java.lang.String fileName)
setFileName
- Parameters:
fileName
- aString
object.
-
getInputStream
public java.io.InputStream getInputStream()
getInputStream
- Returns:
- Returns the input stream attachment.
-
setInputStream
public void setInputStream(java.io.InputStream inputStream)
setInputStream
- Parameters:
inputStream
- Sets the input stream to be attached to the message.
-
getInputStreamName
public java.lang.String getInputStreamName()
getInputStreamName
- Returns:
- Returns the name to use for stream attachments..
-
setInputStreamName
public void setInputStreamName(java.lang.String inputStreamName)
setInputStreamName
- Parameters:
inputStreamName
- Sets the name to use for stream attachments.
-
getInputStreamContentType
public java.lang.String getInputStreamContentType()
getInputStreamContentType
- Returns:
- Returns the name to use for stream attachments..
-
setInputStreamContentType
public void setInputStreamContentType(java.lang.String inputStreamContentType)
setInputStreamContentType
- Parameters:
inputStreamContentType
- aString
object.
-
getMailHost
public java.lang.String getMailHost()
getMailHost
- Returns:
- Returns the mail host.
-
setMailHost
public void setMailHost(java.lang.String mail_host)
setMailHost
- Parameters:
mail_host
- Sets the mail host.
-
getMailer
public java.lang.String getMailer()
getMailer
- Returns:
- Returns the mailer.
-
setMailer
public void setMailer(java.lang.String mailer)
setMailer
- Parameters:
mailer
- Sets the mailer.
-
getMessageText
public java.lang.String getMessageText()
getMessageText
- Returns:
- Returns the message text.
-
setMessageText
public void setMessageText(java.lang.String messageText)
setMessageText
- Parameters:
messageText
- Sets the message text.
-
getSubject
public java.lang.String getSubject()
getSubject
- Returns:
- Returns the message Subject.
-
setSubject
public void setSubject(java.lang.String subject)
setSubject
- Parameters:
subject
- Sets the message Subject.
-
getTo
public java.lang.String getTo()
getTo
- Returns:
- Returns the To address.
-
setTo
public void setTo(java.lang.String to)
setTo
- Parameters:
to
- Sets the To address.
-
getTransport
public java.lang.String getTransport()
getTransport
- Returns:
- a
String
object.
-
setTransport
public void setTransport(java.lang.String transport)
setTransport
- Parameters:
transport
- aString
object.
-
isDebug
public boolean isDebug()
isDebug
- Returns:
- a boolean.
-
setDebug
public void setDebug(boolean debug)
setDebug
- Parameters:
debug
- a boolean.
-
getSession
public javax.mail.Session getSession()
getSession
- Returns:
- the session
-
setSession
public void setSession(javax.mail.Session session)
setSession
- Parameters:
session
- the session to set
-
getContentType
public java.lang.String getContentType()
getContentType
- Returns:
- the contentType
-
setContentType
public void setContentType(java.lang.String contentType)
setContentType
- Parameters:
contentType
- the contentType to set
-
getCharSet
public java.lang.String getCharSet()
getCharSet
- Returns:
- the charSet
-
setCharSet
public void setCharSet(java.lang.String charSet)
setCharSet
- Parameters:
charSet
- the charSet to set
-
getEncoding
public java.lang.String getEncoding()
getEncoding
- Returns:
- the encoding
-
setEncoding
public void setEncoding(java.lang.String encoding)
setEncoding
- Parameters:
encoding
- the encoding to set
-
isStartTlsEnabled
public boolean isStartTlsEnabled()
isStartTlsEnabled
- Returns:
- the startTlsEnabled
-
setStartTlsEnabled
public void setStartTlsEnabled(boolean startTlsEnabled)
setStartTlsEnabled
- Parameters:
startTlsEnabled
- the startTlsEnabled to set
-
isQuitWait
public boolean isQuitWait()
isQuitWait
- Returns:
- the quitWait
-
setQuitWait
public void setQuitWait(boolean quitWait)
setQuitWait
- Parameters:
quitWait
- the quitWait to set
-
getSmtpPort
public int getSmtpPort()
getSmtpPort
- Returns:
- the smtpPort
-
setSmtpPort
public void setSmtpPort(int smtpPort)
setSmtpPort
- Parameters:
smtpPort
- the smtpPort to set
-
isSmtpSsl
public boolean isSmtpSsl()
isSmtpSsl
- Returns:
- the smtpSsl
-
setSmtpSsl
public void setSmtpSsl(boolean smtpSsl)
setSmtpSsl
- Parameters:
smtpSsl
- the smtpSsl to set
-
getMailProps
public java.util.Properties getMailProps()
This returns the properties configured in the javamail-configuration.properties file.- Returns:
- a
Properties
object.
-
getExtraHeaders
public java.util.Map<java.lang.String,java.lang.String> getExtraHeaders()
-
setExtraHeaders
public void setExtraHeaders(java.util.Map<java.lang.String,java.lang.String> headers)
-
addExtraHeader
public void addExtraHeader(java.lang.String key, java.lang.String value)
-
-