/* * MessageWrapForwardMultipart.java * * Created on den 23 september 2001, 18:50 */ package ip1.u9.util; import javax.mail.*; import javax.mail.internet.*; import java.io.IOException; import javax.mail.MessagingException; import ip1.u7.b.*; /** För allmän informaton om MessageWrap-klasserna, se MessageWrap * * @author Henrik Johansson, DS80 * @version ht2001 */ public class MessageWrapForwardMultipart extends MessageWrapShowMultipart { /** Skapar nytt MessageWrapForwardMultipart * Anropas alltid via MessageWrapFactory * * @param message basmeddelande som skall formateras och eventuellt ges tilläggsinformation */ protected MessageWrapForwardMultipart(Message message) { this(message, null); } /** Skapar nytt MessageWrapForwardMultipart * Anropas alltid via MessageWrapFactory * * @param message basmeddelande som skall formateras och eventuellt ges tilläggsinformation * @param server Kontoinformation som eventuellt läggs till i meddealnde tex avsändaradress eller signatur */ protected MessageWrapForwardMultipart(Message message, ServerInfo server) { super(message, server); } /* Om ServerInfo-objektet menar att e-postmeddelanden skall vidaresändas "inline" returneras innehållet * i basmeddelandet, föregåt av viss info om att originalbrevet kommer samt från vem och till vem det skickades */ public String getContent() throws MessagingException, IOException { String content = ""; if(server.getSignature().length() > 0) content = "\n\n" + server.getSignature(); if(server.isForwardInline()) { content += "\n\n ------- Original message -------\n\n"; content += " From: "; Address[] from = ((MimeMessage) message).getFrom(); if(from != null) for(int i = 0; i < from.length; i++) content += " " + from[i].toString() + "\n"; else content += "\n"; content += " To: "; Address[] to = message.getRecipients(Message.RecipientType.TO); if(to != null) for(int i = 0; i < to.length; i++) content += " " + to[i].toString() + "\n"; else content += "\n"; content += " Cc: "; Address[] cc = message.getRecipients(Message.RecipientType.CC); if(cc != null) for(int i = 0; i < cc.length; i++) content += " " + cc[i].toString() + "\n"; else content += "\n"; content += "Subject: " + message.getSubject() + "\n"; content += super.getContent() + "\n"; } return content; } /* Om ServerInfo-objektet menar att e-postmeddelanden skall vidaresändas som ett "atrtachment" * returneras en Attachment-matris som innehåller basmeddelandet. */ public Attachment[] getAttachments() throws MessagingException, IOException { if(server.isForwardAttachment()) { MimeBodyPart mbp = new MimeBodyPart(); mbp.setContent(message, "message/rfc822"); mbp.setFileName(message.getSubject()); mbp.setDisposition(MimeBodyPart.ATTACHMENT); return new Attachment[] {new Attachment(mbp)}; } else return super.getAttachments(); } /** Returnerar ämnesraden: [Fwd: ] */ public String getSubject() throws MessagingException { return "[Fwd: " + message.getSubject() + "]"; } }