public void init(MailetConfig config) throws MessagingException {
this.config = config;
}
public void service(Mail mail) throws MessagingException {
MailetContext context = config.getMailetContext();
context.log("######## MAIL STARTS");
context.log("");
MimeMessage message = mail.getMessage();
context.log("Mail named: " + mail.getName());
for (Iterator it=mail.getAttributeNames(); it.hasNext();) {
String attributeName = (String) it.next();
context.log("Attribute " + attributeName);
}
context.log("Message size: " + mail.getMessageSize());
context.log("Last updated: " + mail.getLastUpdated());
context.log("Remote Address: " + mail.getRemoteAddr());
context.log("Remote Host: " + mail.getRemoteHost());
context.log("State: " + mail.getState());
context.log("Sender host: " + mail.getSender().getDomain());
context.log("Sender user: " + mail.getSender().getLocalPart());
Collection<MailAddress> recipients = mail.getRecipients();
for (Iterator<MailAddress> it = recipients.iterator(); it.hasNext();)
{
MailAddress address = it.next();
context.log("Recipient: " + address.getLocalPart() + "@" + address.getDomain());
}
context.log("Subject: " + message.getSubject());
context.log("MessageID: " + message.getMessageID());
context.log("Received: " + message.getReceivedDate());
context.log("Sent: " + message.getSentDate());
Enumeration allHeadersLines = message.getAllHeaderLines();
while(allHeadersLines.hasMoreElements()) {
String header = (String) allHeadersLines.nextElement();
context.log("Header Line:= " + header);
}
Enumeration allHeadersEnumeration = message.getAllHeaders();
while(allHeadersEnumeration.hasMoreElements()) {
Header header = (Header) allHeadersEnumeration.nextElement();
context.log("Header: " + header.getName() + "=" + header.getValue());
}
Address[] to = message.getRecipients(RecipientType.TO);
printAddresses(to, "TO: ");
Address[] cc = message.getRecipients(RecipientType.CC);
printAddresses(cc, "CC: ");
Address[] bcc = message.getRecipients(RecipientType.BCC);
printAddresses(bcc, "BCC: ");
Flags flags = message.getFlags();
Flag[] systemFlags = flags.getSystemFlags();
for (int i=0;i<systemFlags.length;i++) {
context.log("System Flag:" + systemFlags[i]);
}
String[] userFlags = flags.getUserFlags();
for (int i=0;i<userFlags.length;i++) {
context.log("User flag: " + userFlags[i]);
}
String mimeType = message.getContentType();
context.log("Mime type: " + mimeType);
if (mimeType == "text/plain") {
try {
Object content = message.getContent();
context.log("Content: " + content);
} catch (IOException e) {
e.printStackTrace();
}
}
context.log("");
context.log("######## MAIL ENDS");
}