public class MailConnection extends Object
Constructor and Description |
---|
MailConnection(org.pentaho.di.core.logging.LogChannelInterface log,
int protocol,
String server,
int port,
String username,
String password,
boolean usessl,
boolean useproxy,
String proxyusername)
Construct a new Database MailConnection
|
Modifier and Type | Method and Description |
---|---|
void |
clearFilters()
Clear search terms.
|
void |
closeFolder(boolean expunge)
Close folder.
|
void |
connect()
Open the connection.
|
void |
deleteMessage()
Delete current fetched message
|
void |
deleteMessages(boolean setCounter)
Delete messages.
|
void |
disconnect()
Disconnect from the server and close folder, connection.
|
void |
disconnect(boolean expunge)
Disconnect from the server and close folder, connection.
|
void |
fetchNext()
Get next message.
|
boolean |
folderExists(String foldername)
Check if a folder exists on server (only IMAP).
|
int |
getAttachedFilesCount(javax.mail.Message message,
Pattern pattern) |
int |
getAttachedFilesCount(Pattern pattern)
Returns attached files count for the current message
|
int |
getDeletedMessagesCounter() |
javax.mail.Folder |
getFolder() |
String |
getFolderName()
Returns the foldername.
|
javax.mail.Message |
getMessage()
Returns the current message.
|
String |
getMessageBody() |
String |
getMessageBody(javax.mail.Message m)
Return the primary text content of the message.
|
String |
getMessageBodyContentType(javax.mail.Message m) |
javax.mail.Message[] |
getMessages()
Returns all messages.
|
int |
getMessagesCount()
Returns the number of messages.
|
int |
getMovedMessagesCounter()
Returns count of moved messages.
|
int |
getProtocol()
Returns the protocol.
|
String |
getProxyUsername() |
int |
getSavedAttachedFilesCounter() |
int |
getSavedMessagesCounter() |
javax.mail.search.SearchTerm |
getSearchTerm() |
String |
getServer()
Returns the server name/Ip.
|
javax.mail.Store |
getStore() |
boolean |
isConnected() |
boolean |
isMessageDeleted()
Returns if message is deleted
|
boolean |
isMessageDeleted(javax.mail.Message msg) |
boolean |
isMessageDraft()
Returns if message is Draft
|
boolean |
isMessageDraft(javax.mail.Message msg) |
boolean |
isMessageFlagged()
Returns if message is read
|
boolean |
isMessageFlagged(javax.mail.Message msg) |
boolean |
isMessageNew()
Returns if message is new
|
boolean |
isMessageNew(javax.mail.Message msg) |
boolean |
isMessageRead()
Returns if message is read
|
boolean |
isMessageRead(javax.mail.Message msg) |
boolean |
isUseProxy() |
boolean |
isUseSSL() |
void |
moveMessage()
Move current message to a target folder.
|
void |
moveMessages()
Move messages to a folder.
|
void |
openFolder(boolean write)
Open the default folder (INBOX)
|
void |
openFolder(String foldername,
boolean write)
Open the folder.
|
void |
openFolder(String foldername,
boolean defaultFolder,
boolean write)
Open the folder.
|
void |
retrieveMessages()
Retrieve all messages from server
|
String[] |
returnAllFolders()
Returns all subfolders
of the current folder
|
String[] |
returnAllFolders(javax.mail.Folder folder)
Returns all subfolders
of the specified folder
|
String[] |
returnAllFolders(String folder)
Returns all subfolders
of the folder folder
|
void |
saveAttachedFiles(String foldername)
Save attached files to a folder.
|
void |
saveAttachedFiles(String foldername,
Pattern pattern)
Save attached files to a folder.
|
void |
saveMessageContentToFile(String filename,
String foldername)
Export message content to a filename.
|
void |
setBodyTerm(String bodyfilter,
boolean notTerm)
Search all messages with body containing the word bodyfilter
|
void |
setDestinationFolder(String foldername,
boolean createFolder)
Set destination folder
|
void |
setFlagTermDraft() |
void |
setFlagTermFlagged() |
void |
setFlagTermNew() |
void |
setFlagTermNotDraft() |
void |
setFlagTermNotFlagged() |
void |
setFlagTermOld() |
void |
setFlagTermRead() |
void |
setFlagTermUnread() |
void |
setReceipientTerm(String receipient)
Set filter on receipient.
|
void |
setReceivedDateTermBetween(Date beginDate,
Date endDate) |
void |
setReceivedDateTermEQ(Date receiveddate)
Set filter on message received date.
|
void |
setReceivedDateTermGT(Date pastDate)
Set filter on message received date.
|
void |
setReceivedDateTermLT(Date futureDate)
Set filter on message received date.
|
void |
setSenderTerm(String sender,
boolean notTerm)
Set filter on message sender.
|
void |
setSubjectTerm(String subject,
boolean notTerm)
Set filter on subject.
|
String |
toString() |
void |
updateSavedAttachedFilesCounter() |
void |
updateSavedMessagesCounter() |
public MailConnection(org.pentaho.di.core.logging.LogChannelInterface log, int protocol, String server, int port, String username, String password, boolean usessl, boolean useproxy, String proxyusername) throws org.pentaho.di.core.exception.KettleException
protocol
- the protocol used : MailConnection.PROTOCOL_POP3 or MailConnection.PROTOCOL_IMAP.server
- the target server (ip ou name)port
- port number on the serverpassword
- usessl
- specify if the connection is established via SSLuseproxy
- specify if we use proxy authenticationproxyusername
- proxy authorised userorg.pentaho.di.core.exception.KettleException
public boolean isConnected()
public boolean isUseSSL()
public boolean isUseProxy()
public String getProxyUsername()
public javax.mail.Store getStore()
public javax.mail.Folder getFolder()
public void connect() throws org.pentaho.di.core.exception.KettleException
org.pentaho.di.core.exception.KettleException
- if something went wrong.public void openFolder(boolean write) throws org.pentaho.di.core.exception.KettleException
write
- open the folder in write modeorg.pentaho.di.core.exception.KettleException
- if something went wrong.public void openFolder(String foldername, boolean write) throws org.pentaho.di.core.exception.KettleException
foldername
- the name of the folder to openwrite
- open the folder in write modeorg.pentaho.di.core.exception.KettleException
- if something went wrong.public void openFolder(String foldername, boolean defaultFolder, boolean write) throws org.pentaho.di.core.exception.KettleException
foldername
- the name of the folder to opendefaultFolder
- true to open the default folder (INBOX)write
- open the folder in write modeorg.pentaho.di.core.exception.KettleException
- if something went wrong.public void clearFilters()
public void disconnect() throws org.pentaho.di.core.exception.KettleException
org.pentaho.di.core.exception.KettleException
public void closeFolder(boolean expunge) throws org.pentaho.di.core.exception.KettleException
expunge
- expunge folderorg.pentaho.di.core.exception.KettleException
public javax.mail.search.SearchTerm getSearchTerm()
public void setSubjectTerm(String subject, boolean notTerm)
subject
- messages will be filtered on subjectnotTerm
- negate conditionpublic void setBodyTerm(String bodyfilter, boolean notTerm)
bodyfilter
- notTerm
- negate conditionpublic void setSenderTerm(String sender, boolean notTerm)
sender
- messages will be filtered on sendernotTerm
- negate conditionpublic void setReceipientTerm(String receipient)
receipient
- messages will be filtered on receipientnotTerm
- negate conditionpublic void setReceivedDateTermEQ(Date receiveddate)
receiveddate
- messages will be filtered on receiveddatenotTerm
- negate conditionpublic void setReceivedDateTermLT(Date futureDate)
futureDate
- messages will be filtered on futureDatenotTerm
- negate conditionpublic void setReceivedDateTermGT(Date pastDate)
pastDate
- messages will be filtered on pastDatenotTerm
- negate conditionpublic void setFlagTermNew()
public void setFlagTermOld()
public void setFlagTermRead()
public void setFlagTermUnread()
public void setFlagTermFlagged()
public void setFlagTermNotFlagged()
public void setFlagTermDraft()
public void setFlagTermNotDraft()
public void retrieveMessages() throws org.pentaho.di.core.exception.KettleException
org.pentaho.di.core.exception.KettleException
public void disconnect(boolean expunge) throws org.pentaho.di.core.exception.KettleException
expunge
- expunge folderorg.pentaho.di.core.exception.KettleException
public void saveMessageContentToFile(String filename, String foldername) throws org.pentaho.di.core.exception.KettleException
filename
- the target filenamefoldername
- the parent folder of filenameKettleException.
org.pentaho.di.core.exception.KettleException
public void saveAttachedFiles(String foldername) throws org.pentaho.di.core.exception.KettleException
foldername
- the target foldernameKettleException.
org.pentaho.di.core.exception.KettleException
public void saveAttachedFiles(String foldername, Pattern pattern) throws org.pentaho.di.core.exception.KettleException
foldername
- the target foldernamepattern
- regular expression to filter on filesKettleException.
org.pentaho.di.core.exception.KettleException
public void deleteMessage() throws org.pentaho.di.core.exception.KettleException
org.pentaho.di.core.exception.KettleException
public void setDestinationFolder(String foldername, boolean createFolder) throws org.pentaho.di.core.exception.KettleException
foldername
- destination foldernamecreateFolder
- flag create folder if neededorg.pentaho.di.core.exception.KettleException
public void moveMessage() throws org.pentaho.di.core.exception.KettleException
org.pentaho.di.core.exception.KettleException
public String getFolderName()
public String getServer()
public int getProtocol()
public javax.mail.Message[] getMessages()
public void fetchNext() throws org.pentaho.di.core.exception.KettleException
org.pentaho.di.core.exception.KettleException
public javax.mail.Message getMessage()
public int getMessagesCount()
public void updateSavedMessagesCounter()
public int getSavedMessagesCounter()
public int getSavedAttachedFilesCounter()
public void updateSavedAttachedFilesCounter()
public int getDeletedMessagesCounter()
public int getMovedMessagesCounter()
public void deleteMessages(boolean setCounter) throws org.pentaho.di.core.exception.KettleException
org.pentaho.di.core.exception.KettleException
public void moveMessages() throws org.pentaho.di.core.exception.KettleException
org.pentaho.di.core.exception.KettleException
public boolean folderExists(String foldername)
foldername
- the name of the folderpublic String[] returnAllFolders(javax.mail.Folder folder) throws org.pentaho.di.core.exception.KettleException
taget
- parent folderorg.pentaho.di.core.exception.KettleException
public String[] returnAllFolders() throws org.pentaho.di.core.exception.KettleException
org.pentaho.di.core.exception.KettleException
public String[] returnAllFolders(String folder) throws org.pentaho.di.core.exception.KettleException
folder
- target folderorg.pentaho.di.core.exception.KettleException
public String getMessageBody(javax.mail.Message m) throws javax.mail.MessagingException, IOException
javax.mail.MessagingException
IOException
public String getMessageBodyContentType(javax.mail.Message m) throws javax.mail.MessagingException, IOException
javax.mail.MessagingException
IOException
public boolean isMessageNew()
public boolean isMessageNew(javax.mail.Message msg)
public boolean isMessageRead()
public boolean isMessageRead(javax.mail.Message msg)
public boolean isMessageFlagged()
public boolean isMessageFlagged(javax.mail.Message msg)
public boolean isMessageDeleted()
public boolean isMessageDeleted(javax.mail.Message msg)
public boolean isMessageDraft()
public boolean isMessageDraft(javax.mail.Message msg)
public int getAttachedFilesCount(Pattern pattern) throws org.pentaho.di.core.exception.KettleException
pattern
- (optional)org.pentaho.di.core.exception.KettleException
public int getAttachedFilesCount(javax.mail.Message message, Pattern pattern) throws org.pentaho.di.core.exception.KettleException
org.pentaho.di.core.exception.KettleException