java.lang.Object
java.lang.Thread
com.opencms.defaults.CmsMail
- All Implemented Interfaces:
- com.opencms.boot.I_CmsLogChannels, java.lang.Runnable
- public class CmsMail
- extends java.lang.Thread
- implements com.opencms.boot.I_CmsLogChannels
This class is used to send a mail using the JavaMail package.
Sun's mail.jar and activation.jar are required,
if this class should be used in any OpenCms class.
Sender and recipients addresses may be given as String
or as CmsUser objects.
Different constructors for setting additional CC and BCC addresses are provided.
Attachments can be added using the addAttachment() method.
If the current HTTP request is a multipart/form-data request
and contains uploaded files, all these files will be sent as attachments, too.
For performance reasons, this classes uses threads for sending mails.
Mail threads can be initialized and started by :
- creating a new CmsMail object with the appropriate constructor
- eventually adding one ore more attachments to this objects
- calling the
start() method on this object.
Example:
String from = "waruschan.babachan@framfab.de";
String[] to = {"alexander.lucas@framfab.de"};
String subject = "Testmail";
String content = "Hello World!";
CmsMail mail=new CmsMail(cms, from, to, subject, content, "text/plain");
mail.start();
- Since:
- OpenCms 4.1.37. Previously, this class was part of the
com.opencms.workplace package.
- Version:
- $Name: $ $Revision: 1.14 $ $Date: 2003/02/15 11:14:57 $
| Nested classes inherited from class java.lang.Thread |
java.lang.Thread.UncaughtExceptionHandler |
| Fields inherited from interface com.opencms.boot.I_CmsLogChannels |
C_FLEX_CACHE, C_FLEX_LOADER, C_LOGGING, C_MODULE_CRITICAL, C_MODULE_DEBUG, C_MODULE_INFO, C_OPENCMS_CACHE, C_OPENCMS_CRITICAL, C_OPENCMS_CRONSCHEDULER, C_OPENCMS_DEBUG, C_OPENCMS_ELEMENTCACHE, C_OPENCMS_INFO, C_OPENCMS_INIT, C_OPENCMS_POOL, C_OPENCMS_STATICEXPORT, C_OPENCMS_STREAMING, C_PREPROCESSOR_IS_LOGGING |
|
Constructor Summary |
CmsMail(com.opencms.file.CmsObject cms,
com.opencms.file.CmsUser from,
com.opencms.file.CmsGroup to,
java.lang.String subject,
java.lang.String content,
java.lang.String type)
Create a new email object with a CmsUser as sender and a
CmsGroup as recipient(s). |
CmsMail(com.opencms.file.CmsObject cms,
com.opencms.file.CmsUser from,
com.opencms.file.CmsUser[] to,
java.lang.String subject,
java.lang.String content,
java.lang.String type)
Create a new email object with a CmsUser as sender and an array of
CmsUser's as recipient(s). |
CmsMail(com.opencms.file.CmsObject cms,
java.lang.String from,
java.lang.String[] to,
java.lang.String[] cc,
boolean isBcc,
java.lang.String subject,
java.lang.String content,
java.lang.String type)
Create a new email object with given FROM, TO and BCC addresses. |
CmsMail(com.opencms.file.CmsObject cms,
java.lang.String from,
java.lang.String[] to,
java.lang.String[] cc,
java.lang.String[] bcc,
java.lang.String subject,
java.lang.String content,
java.lang.String type)
Create a new email object with given FROM, TO, CC and BCC addresses. |
CmsMail(com.opencms.file.CmsObject cms,
java.lang.String from,
java.lang.String[] to,
java.lang.String[] bcc,
java.lang.String subject,
java.lang.String content,
java.lang.String type)
Create a new email object with given FROM, TO and BCC addresses. |
CmsMail(com.opencms.file.CmsObject cms,
java.lang.String from,
java.lang.String[] to,
java.lang.String subject,
java.lang.String content,
java.lang.String type)
Create a new email object with given FROM and TO addresses. |
CmsMail(com.opencms.file.CmsUser from,
com.opencms.file.CmsGroup to,
java.lang.String subject,
java.lang.String content,
java.lang.String type)
|
CmsMail(com.opencms.file.CmsUser from,
com.opencms.file.CmsUser[] to,
java.lang.String subject,
java.lang.String content,
java.lang.String type)
|
CmsMail(java.lang.String from,
java.lang.String[] to,
java.lang.String[] cc,
java.lang.String[] bcc,
java.lang.String subject,
java.lang.String content,
java.lang.String type)
|
CmsMail(java.lang.String from,
java.lang.String[] to,
java.lang.String[] bcc,
java.lang.String subject,
java.lang.String content,
java.lang.String type)
|
CmsMail(java.lang.String from,
java.lang.String[] to,
java.lang.String subject,
java.lang.String content,
java.lang.String type)
The constuctors without CmsObject |
| Methods inherited from class java.lang.Thread |
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yield |
c_FROM
private java.lang.String c_FROM
c_TO
private java.lang.String[] c_TO
c_BCC
private java.lang.String[] c_BCC
c_CC
private java.lang.String[] c_CC
c_MAILSERVER
private java.lang.String c_MAILSERVER
c_ALTERNATIVE_MAILSERVER
private java.lang.String c_ALTERNATIVE_MAILSERVER
c_SUBJECT
private java.lang.String c_SUBJECT
c_CONTENT
private java.lang.String c_CONTENT
c_TYPE
private java.lang.String c_TYPE
c_CMS
private com.opencms.file.CmsObject c_CMS
attachContent
private java.util.Vector attachContent
attachType
private java.util.Vector attachType
CmsMail
public CmsMail(java.lang.String from,
java.lang.String[] to,
java.lang.String subject,
java.lang.String content,
java.lang.String type)
throws com.opencms.core.CmsException
- The constuctors without CmsObject
CmsMail
public CmsMail(com.opencms.file.CmsUser from,
com.opencms.file.CmsUser[] to,
java.lang.String subject,
java.lang.String content,
java.lang.String type)
throws com.opencms.core.CmsException
CmsMail
public CmsMail(com.opencms.file.CmsUser from,
com.opencms.file.CmsGroup to,
java.lang.String subject,
java.lang.String content,
java.lang.String type)
throws com.opencms.core.CmsException
CmsMail
public CmsMail(java.lang.String from,
java.lang.String[] to,
java.lang.String[] cc,
java.lang.String[] bcc,
java.lang.String subject,
java.lang.String content,
java.lang.String type)
throws com.opencms.core.CmsException
CmsMail
public CmsMail(java.lang.String from,
java.lang.String[] to,
java.lang.String[] bcc,
java.lang.String subject,
java.lang.String content,
java.lang.String type)
throws com.opencms.core.CmsException
CmsMail
public CmsMail(com.opencms.file.CmsObject cms,
com.opencms.file.CmsUser from,
com.opencms.file.CmsUser[] to,
java.lang.String subject,
java.lang.String content,
java.lang.String type)
throws com.opencms.core.CmsException
- Create a new email object with a
CmsUser as sender and an array of
CmsUser's as recipient(s). Email addresses will be taken from
the CmsUser properties.
CmsMail
public CmsMail(com.opencms.file.CmsObject cms,
com.opencms.file.CmsUser from,
com.opencms.file.CmsGroup to,
java.lang.String subject,
java.lang.String content,
java.lang.String type)
throws com.opencms.core.CmsException
- Create a new email object with a
CmsUser as sender and a
CmsGroup as recipient(s). The sender's address will be taken from
the CmsUser properties, the recipient's addresses from all CmsUsers
belonging to the given group.
CmsMail
public CmsMail(com.opencms.file.CmsObject cms,
java.lang.String from,
java.lang.String[] to,
java.lang.String[] cc,
java.lang.String[] bcc,
java.lang.String subject,
java.lang.String content,
java.lang.String type)
throws com.opencms.core.CmsException
- Create a new email object with given FROM, TO, CC and BCC addresses.
CmsMail
public CmsMail(com.opencms.file.CmsObject cms,
java.lang.String from,
java.lang.String[] to,
java.lang.String[] bcc,
java.lang.String subject,
java.lang.String content,
java.lang.String type)
throws com.opencms.core.CmsException
- Create a new email object with given FROM, TO and BCC addresses.
CmsMail
public CmsMail(com.opencms.file.CmsObject cms,
java.lang.String from,
java.lang.String[] to,
java.lang.String[] cc,
boolean isBcc,
java.lang.String subject,
java.lang.String content,
java.lang.String type)
throws com.opencms.core.CmsException
- Create a new email object with given FROM, TO and BCC addresses.
CmsMail
public CmsMail(com.opencms.file.CmsObject cms,
java.lang.String from,
java.lang.String[] to,
java.lang.String subject,
java.lang.String content,
java.lang.String type)
throws com.opencms.core.CmsException
- Create a new email object with given FROM and TO addresses.
addAttachment
public void addAttachment(java.lang.String content,
java.lang.String type)
- Add a new attachment of the given content type to this
CmsMail
object. The attachment will get a random name.
buildMessage
private javax.mail.Message buildMessage(java.lang.String smtpHost)
throws java.lang.Exception
- Internal method for building a new
MimeMessage object
with the given content, attachments, SMTP host properties, FROM, TO,
CC and BCC addresses.
Will be called from the thread connecting to the SMTP server
and sending the mail.
getClassName
protected java.lang.String getClassName()
- Helper method for printing nice classnames in error messages
run
public void run()
- Try sending the mail.
This can take a few seconds to several minutes. We don't want
the user to wait for the response of the current HTTP request.
Therefore we are running this in a new thread. The user will
get his response immediately, then.
- Specified by:
run in interface java.lang.Runnable