public class EmailProcessor extends AbstractPublishingProcessor
A post processor that sends email with the content published
| Modifier and Type | Field and Description |
|---|---|
static String |
CHAR_ENCODING |
name, orderSITE_NAME_PREVIEW| Constructor and Description |
|---|
EmailProcessor() |
| Modifier and Type | Method and Description |
|---|---|
protected javax.mail.Authenticator |
createAuthenticator(Properties props,
String username,
String password)
Create mail server authenticator
|
protected javax.mail.Address |
createEmailAddress(String emailStr)
create an email address from the string given
|
protected Properties |
createMailProperties()
Create mail properties
|
protected String |
createPreviewUrl(String path,
String siteName)
create a preview url
|
protected javax.mail.Session |
createSession()
create email session
|
void |
doProcess(PublishedChangeSet changeSet,
Map<String,String> parameters,
org.craftercms.core.service.Context context,
PublishingTarget target)
process files published
|
protected String |
embedImages(String root,
javax.mail.Multipart multipart,
String content)
embed images
|
String |
getCharEncoding()
get charEncoding
|
String |
getComponentController()
get componentController
|
Map<String,String> |
getContentReplacements()
get contentReplacements
|
String |
getDefaultMailFrom()
get defaultMailFrom
|
protected List<javax.mail.Address> |
getEmailList(org.dom4j.Element parentEl,
String path)
get a list of email addresses from content
|
Map<String,String> |
getHeaders()
get headers
|
String |
getHost()
get host
|
protected String |
getHtmlContent(String path,
String siteName)
get html content from preview site
|
String |
getImagePattern()
get imagePattern
|
String |
getMailBccPath()
get mailBccPath
|
String |
getMailCcPath()
get mailCcPath
|
String |
getMailFromPath()
get mailFromPath
|
String |
getMailToPath()
get mailToPath
|
List<String> |
getMatchPatterns()
get matchPatterns
|
List<String> |
getNegativeChecks()
get negativeChecks
|
String |
getPassword()
get password
|
String |
getPort()
get port
|
List<String> |
getPositiveChecks()
get positiveChecks
|
String |
getPreviewUrl()
get previewUrl
|
String |
getProtocol()
get protocol
|
String |
getReplyToPath()
get replyToPath
|
String |
getSendEmailFlagPath()
get sendEmailFlagPath
|
String |
getSiteName()
get siteName
|
String |
getTextContentPath()
get textContentPath
|
String |
getTitlePath()
get titlePath
|
Map<String,String> |
getUrlReplacements()
get urlReplacements
|
String |
getUsername()
get username
|
boolean |
isAuthenticated()
get authenticated
|
protected boolean |
isMatchingPattern(String file)
check if the file path is matching one of patterns
|
protected void |
processFile(String site,
String root,
String file)
process each file updated or created
|
protected void |
processFiles(String site,
String root,
List<String> files)
process files
|
protected void |
sendEmail(String root,
javax.mail.Address mailFrom,
List<javax.mail.Address> replyToList,
List<javax.mail.Address> mailToList,
List<javax.mail.Address> mailCcList,
List<javax.mail.Address> mailBccList,
String title,
String htmlContent,
String textContent)
send an email with the properties given
|
void |
setAuthenticated(boolean authenticated)
set if authentication is needed
|
void |
setComponentController(String componentController)
set the component controller path
|
void |
setContentReplacements(Map<String,String> contentReplacements)
set contentReplacement mapping
|
void |
setDefaultMailFrom(String defaultMailFrom)
set a defaultMailFrom value
|
void |
setHeaders(Map<String,String> headers)
set request headers
|
void |
setHost(String host)
set a mail host
|
void |
setImagePattern(String imagePattern)
set image pattern
|
void |
setMailBccPath(String mailBccPath)
set a mailBccPath value
|
void |
setMailCcPath(String mailCcPath)
set a mailCcPath value
|
void |
setMailFromPath(String mailFromPath)
set a mailFromPath value
|
void |
setMailToPath(String mailToPath)
set a mailToPath value
|
void |
setMatchPatterns(List<String> matchPatterns)
set matchPatterns
|
void |
setNegativeChecks(List<String> negativeChecks)
set a list of negative check strings
|
void |
setPassword(String password)
set the mail server password
|
void |
setPort(String port)
set a mail server port
|
void |
setPositiveChecks(List<String> positiveChecks)
set a list of positive check string patterns
|
void |
setPreviewUrl(String previewUrl)
set previewUrl
|
void |
setProtocol(String protocol)
set a protocol
|
void |
setReplyToPath(String replyToPath)
set a replyToPath value
|
void |
setSendEmailFlagPath(String sendEmailFlagPath)
set sendEmailFlagPath
|
void |
setSiteName(String siteName)
set siteName
|
void |
setTextContentPath(String textContentPath)
set a textContentPath value
|
void |
setTitlePath(String titlePath)
set a titlePath value
|
void |
setUrlReplacements(Map<String,String> urlReplacements)
set urlReplacement mapping
|
void |
setUsername(String username)
set the mail server username
|
protected void |
validateContent(String htmlContent)
validate content
|
getName, getOrder, setBeanName, setOrderpublic static String CHAR_ENCODING
public void doProcess(PublishedChangeSet changeSet, Map<String,String> parameters, org.craftercms.core.service.Context context, PublishingTarget target) throws PublishingException
PublishingProcessorPublishingExceptionprotected void processFiles(String site, String root, List<String> files)
process files
site - root - files - protected void processFile(String site, String root, String file) throws PublishingException
site - crafter siteroot - root pathfile - file pathPublishingExceptionprotected List<javax.mail.Address> getEmailList(org.dom4j.Element parentEl, String path)
get a list of email addresses from content
parentEl - path - protected javax.mail.Address createEmailAddress(String emailStr)
create an email address from the string given
emailStr - email address or name & email address formatprotected void sendEmail(String root, javax.mail.Address mailFrom, List<javax.mail.Address> replyToList, List<javax.mail.Address> mailToList, List<javax.mail.Address> mailCcList, List<javax.mail.Address> mailBccList, String title, String htmlContent, String textContent) throws PublishingException
root - site rootmailFrom - from addressreplyToList - reply to addressmailToList - to addressesmailCcList - cc addressesmailBccList - bcc addressestitle - mail titlehtmlContent - HTML contenttextContent - text contentPublishingExceptionprotected javax.mail.Session createSession()
create email session
protected String embedImages(String root, javax.mail.Multipart multipart, String content) throws IOException, javax.mail.MessagingException
root - site rootmultipart - email content holdercontent - email contentIOExceptionjavax.mail.MessagingExceptionprotected String getHtmlContent(String path, String siteName) throws IOException, PublishingException
path - content pathsiteName - crafter site nameIOExceptionPublishingExceptionprotected String createPreviewUrl(String path, String siteName)
create a preview url
path - content pathsiteName - crafter site idprotected void validateContent(String htmlContent) throws PublishingException
validate content
htmlContent - PublishingExceptionprotected javax.mail.Authenticator createAuthenticator(Properties props, String username, String password)
Create mail server authenticator
props - Mail Propertiesusername - password - protected Properties createMailProperties()
Create mail properties
protected boolean isMatchingPattern(String file)
file - public String getCharEncoding()
get charEncoding
public String getPreviewUrl()
get previewUrl
public void setPreviewUrl(String previewUrl)
set previewUrl
previewUrl - public List<String> getNegativeChecks()
get negativeChecks
public void setNegativeChecks(List<String> negativeChecks)
set a list of negative check strings
negativeChecks - public List<String> getPositiveChecks()
get positiveChecks
public void setPositiveChecks(List<String> positiveChecks)
set a list of positive check string patterns
positiveChecks - public String getMailToPath()
get mailToPath
public void setMailToPath(String mailToPath)
set a mailToPath value
mailToPath - public String getMailCcPath()
get mailCcPath
public void setMailCcPath(String mailCcPath)
set a mailCcPath value
mailCcPath - public String getMailBccPath()
get mailBccPath
public void setMailBccPath(String mailBccPath)
set a mailBccPath value
mailBccPath - public String getMailFromPath()
get mailFromPath
public void setMailFromPath(String mailFromPath)
set a mailFromPath value
mailFromPath - public String getReplyToPath()
get replyToPath
public void setReplyToPath(String replyToPath)
set a replyToPath value
replyToPath - public String getTitlePath()
get titlePath
public void setTitlePath(String titlePath)
set a titlePath value
titlePath - public String getTextContentPath()
get textContentPath
public void setTextContentPath(String textContentPath)
set a textContentPath value
textContentPath - public String getDefaultMailFrom()
get defaultMailFrom
public void setDefaultMailFrom(String defaultMailFrom)
set a defaultMailFrom value
defaultMailFrom - public void setHeaders(Map<String,String> headers)
set request headers
headers - public String getImagePattern()
get imagePattern
public void setImagePattern(String imagePattern)
set image pattern
imagePattern - public String getComponentController()
get componentController
public void setComponentController(String componentController)
set the component controller path
componentController - public Map<String,String> getUrlReplacements()
get urlReplacements
public void setUrlReplacements(Map<String,String> urlReplacements)
set urlReplacement mapping
urlReplacements - public Map<String,String> getContentReplacements()
get contentReplacements
public void setContentReplacements(Map<String,String> contentReplacements)
set contentReplacement mapping
contentReplacements - public void setMatchPatterns(List<String> matchPatterns)
set matchPatterns
matchPatterns - public String getSiteName()
get siteName
public void setSiteName(String siteName)
set siteName
siteName - site namepublic String getHost()
get host
public void setHost(String host)
set a mail host
host - a mail hostpublic String getPort()
get port
public void setPort(String port)
set a mail server port
port - a mail server portpublic String getUsername()
get username
public void setUsername(String username)
set the mail server username
username - public String getPassword()
get password
public void setPassword(String password)
set the mail server password
password - public boolean isAuthenticated()
get authenticated
public void setAuthenticated(boolean authenticated)
set if authentication is needed
authenticated - public String getProtocol()
get protocol
public void setProtocol(String protocol)
set a protocol
protocol - public String getSendEmailFlagPath()
get sendEmailFlagPath
public void setSendEmailFlagPath(String sendEmailFlagPath)
set sendEmailFlagPath
sendEmailFlagPath - Copyright © 2017 CrafterCMS. All rights reserved.