public abstract class TemplateEmailInfo
extends atg.nucleus.logging.LoggingFormatter
An abstract class representing an object which contains all
the information pertaining to a particular piece of email to be
sent out, and uses that information to create and fill in the
corresponding javax.mail.Message objects. The email content is
based on a jhtml template, specified via the
templateURL
property, which can be instantiated
for different user profiles.
Template email can be used to produce email messages which are personalized for different profiles. For example, the jhtml template might read:
When instantiated, the template will yield different message text depending on the attributes of the recipient's profile. In addition, the contents of the message can be personalized as well: if the template page contains a targeting droplet, the droplet behaves just as it would in a regular jhtml page, displaying content targeted to the current profile.Dear <valueof bean="/atg/userprofiling/Profile.firstName">Customer</valueof>, you've been spammed by us because...
The actual rendering of the jhtml template is performed by the TemplateEmailSender service.
Note: if your template jhtml page contains links to other
URLs on your site, you must specify them as absolute URLs in
order for the email recipients to be able to access the linked
pages. Please use the full http://server:port/...
form of the URL, e.g.
<img src="http://myserver:80/images/logo.gif>
rather than
<img src="images/logo.gif>
and
<a href="http://myserver:80/help/index.html>help</a>
rather than
<a href="help/index.html>help</a>
.
TemplateEmailInfoImpl
,
TemplateEmailSender
,
Message
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
CLASS_VERSION
Class version string
|
mApplicationLogger, mErrorCount, mLoggingDebug, mLoggingError, mLoggingInfo, mLoggingTrace, mLoggingWarning, mWarningCount
DEFAULT_LOG_DEBUG_STATUS, DEFAULT_LOG_ERROR_STATUS, DEFAULT_LOG_INFO_STATUS, DEFAULT_LOG_WARNING_STATUS
Constructor and Description |
---|
TemplateEmailInfo() |
Modifier and Type | Method and Description |
---|---|
void |
addParameterProcessor(atg.userprofiling.email.ParameterProcessor pProcessor) |
protected void |
appendProperties(java.lang.StringBuffer pBuffer)
Append any properties for debugging.
|
abstract TemplateEmailInfo |
copy()
Returns a copy of this TemplateEmailInfo.
|
void |
copyPropertiesTo(TemplateEmailInfo pCopy)
Copy known properties to pCopy.
|
javax.mail.Message |
createMessage(java.lang.String pRecipient,
java.lang.String[] pContents,
java.lang.String[] pContentTypes)
Creates and returns a Message object with the given email
recipient and content.
|
abstract javax.mail.Message |
createMessage(java.lang.String pRecipient,
java.lang.String pContent,
java.lang.String pContentType)
Creates and returns a Message object with the given email
recipient and content.
|
java.lang.String |
getAltTemplateURL()
Get the alternative text template URL
|
java.lang.String |
getBatchExecutionId()
Get the batch execution ID.
|
int |
getBatchSize()
Get the size of each batch...
|
boolean |
getFillFromTemplate()
Returns true if we should try to extract email information from
the <meta> tags in the template.
|
boolean |
getIgnoreContactFatigue()
Whether when sending this mailing we should
ignore contact fatigue
|
java.util.Properties |
getLocaleMappedAltTemplateURLs()
Gets a Dictionary of URLs of a jhtml files which should serve as
templates for generating the alternative message text.
|
java.util.Properties |
getLocaleMappedTemplateURLs()
Returns a Dictionary of URLs of a jhtml files which should serve as
templates for generating the message text.
|
java.lang.String |
getMailingId()
Returns the id for this mailing.
|
java.io.File[] |
getMessageAttachments()
Returns any files that should be attached to the email.
|
atg.userprofiling.email.ParameterProcessor[] |
getParameterProcessors() |
java.lang.String |
getSiteId() |
java.util.Map |
getTemplateParameters()
Returns the Map of parameter names and values to set when
rendering the jhtml template.
|
java.lang.String |
getTemplateURL()
Returns the URL of a jhtml file which should serve as a
template for generating the message text.
|
boolean |
isBatched()
Returns true if this email is batched/distributed.
|
boolean |
isIncludeEmailInErrors()
Returns true if includeEmailInErrors is true.
|
void |
setAltTemplateURL(java.lang.String pAltTemplateURL)
Set the alternative text template URL.
|
void |
setBatched(boolean pBatched)
Sets the flag indicating whether this email should be batched/distributed
across multiple Dynamo instances.
|
void |
setBatchExecutionId(java.lang.String pBatchExecutionId)
Set the batch execution ID.
|
void |
setBatchSize(int pBatchSize)
Set the size of each batch...
|
void |
setFillFromTemplate(boolean pFillFromTemplate)
Sets the flag indicating whether we should try to extract email
information from the <meta> tags in the template.
|
void |
setIgnoreContactFatigue(boolean pIgnoreContactFatigue)
Whether when sending this mailing we should
ignore contact fatigue
|
void |
setIncludeEmailInErrors(boolean pIncludeEmailInErrors)
Set the includeEmailInErrors property .
|
void |
setLocaleMappedAltTemplateURLs(java.util.Properties pLocaleMappedAltTemplateURLs)
Sets a Dictionary of URLs of a jhtml files which should serve as
templates for generating the alternative message text.
|
void |
setLocaleMappedTemplateURLs(java.util.Properties pTemplateURLs)
Sets a Dictionary of URLs of a jhtml files which should serve as
templates for generating the message text.
|
void |
setMailingId(java.lang.String pMailingId)
Sets the id for this mailing.
|
void |
setMessageAttachments(java.io.File[] pMessageAttachments)
Sets any files that should be attached to the email.
|
void |
setParameterProcessors(atg.userprofiling.email.ParameterProcessor[] pProcessors) |
void |
setSiteId(java.lang.String pSiteId) |
void |
setTemplateParameters(java.util.Map pTemplateParameters)
Sets the Map of parameter names and values to set when rendering
the jhtml template.
|
void |
setTemplateURL(java.lang.String pTemplateURL)
Sets the URL of a jhtml file which should serve as the
template for generating the message text.
|
boolean |
supportsMultipleContents()
Whether or not we support creating a message with multiple
contents passed in.
|
java.lang.String |
toString()
Override the toString() method for debugging.
|
format, getErrorCount, getLoggingForVlogging, getLoggingIdentifier, getWarningCount, isLoggingDebug, isLoggingError, isLoggingInfo, isLoggingTrace, isLoggingWarning, logDebug, logDebug, logDebug, logError, logError, logError, logInfo, logInfo, logInfo, logTrace, logTrace, logTrace, logWarning, logWarning, logWarning, setApplicationLogger, setLoggingDebug, setLoggingError, setLoggingInfo, setLoggingTrace, setLoggingWarning
vlogDebug, vlogDebug, vlogDebug, vlogDebug, vlogDebugTrace, vlogError, vlogError, vlogError, vlogError, vlogInfo, vlogInfo, vlogInfo, vlogInfo, vlogTrace, vlogTrace, vlogTrace, vlogTrace, vlogWarning, vlogWarning, vlogWarning, vlogWarning
public java.lang.String getTemplateURL()
public void setTemplateURL(java.lang.String pTemplateURL)
public void setAltTemplateURL(java.lang.String pAltTemplateURL)
public java.lang.String getAltTemplateURL()
public void setIncludeEmailInErrors(boolean pIncludeEmailInErrors)
public boolean isIncludeEmailInErrors()
public void setBatchExecutionId(java.lang.String pBatchExecutionId)
public java.lang.String getBatchExecutionId()
public java.util.Properties getLocaleMappedTemplateURLs()
public void setLocaleMappedTemplateURLs(java.util.Properties pTemplateURLs)
public void setLocaleMappedAltTemplateURLs(java.util.Properties pLocaleMappedAltTemplateURLs)
public java.util.Properties getLocaleMappedAltTemplateURLs()
public java.util.Map getTemplateParameters()
public void setTemplateParameters(java.util.Map pTemplateParameters)
public boolean getFillFromTemplate()
public void setFillFromTemplate(boolean pFillFromTemplate)
public boolean isBatched()
public void setBatched(boolean pBatched)
public void setBatchSize(int pBatchSize)
public int getBatchSize()
public java.lang.String getMailingId()
public void setMailingId(java.lang.String pMailingId)
public java.lang.String getSiteId()
public void setSiteId(java.lang.String pSiteId)
mSiteId
- the mSiteId to setpublic java.io.File[] getMessageAttachments()
public void setMessageAttachments(java.io.File[] pMessageAttachments)
public void setIgnoreContactFatigue(boolean pIgnoreContactFatigue)
public boolean getIgnoreContactFatigue()
public abstract javax.mail.Message createMessage(java.lang.String pRecipient, java.lang.String pContent, java.lang.String pContentType) throws atg.userprofiling.email.InvalidSenderAddressException, InvalidRecipientAddressException, TemplateEmailException
pRecipient
- the email address of the main recipient,
corresponding to a particular profilepContent
- the message text obtained by instantiating
the template for a particular profilepContentType
- the content type of the message text obtained
by instantiating the template for a particular profileInvalidRecipientAddressException
- if the recipient
email address is malformed or invalidTemplateEmailException
- if any other problem is
encountered while composing the Messageatg.userprofiling.email.InvalidSenderAddressException
public javax.mail.Message createMessage(java.lang.String pRecipient, java.lang.String[] pContents, java.lang.String[] pContentTypes) throws atg.userprofiling.email.InvalidSenderAddressException, InvalidRecipientAddressException, TemplateEmailException
pRecipient
- the email address of the main recipient,
corresponding to a particular profilepContent
- the message text obtained by instantiating
the template for a particular profilepContentType
- the content type of the message text obtained
by instantiating the template for a particular profileInvalidRecipientAddressException
- if the recipient
email address is malformed or invalidTemplateEmailException
- if any other problem is
encountered while composing the Messageatg.userprofiling.email.InvalidSenderAddressException
public boolean supportsMultipleContents()
public abstract TemplateEmailInfo copy()
public void copyPropertiesTo(TemplateEmailInfo pCopy)
pCopy
- the info to which to copy properties.public atg.userprofiling.email.ParameterProcessor[] getParameterProcessors()
public void setParameterProcessors(atg.userprofiling.email.ParameterProcessor[] pProcessors)
public void addParameterProcessor(atg.userprofiling.email.ParameterProcessor pProcessor)
protected void appendProperties(java.lang.StringBuffer pBuffer)
public java.lang.String toString()
toString
in class java.lang.Object