1 package org.columba.mail.gui.composer.command; 19 20 import org.columba.api.command.ICommandReference; 21 import org.columba.mail.composer.MessageBuilderHelper; 22 import org.columba.mail.config.AccountItem; 23 import org.columba.mail.folder.IMailbox; 24 import org.columba.ristretto.message.Address; 25 import org.columba.ristretto.message.BasicHeader; 26 import org.columba.ristretto.message.Header; 27 28 29 36 public class ReplyToMailingListCommand extends ReplyCommand { 37 protected final String [] headerfields = new String [] { 38 "Subject", "From", "To", "Reply-To", "Message-ID", "In-Reply-To", 39 "References", "X-Beenthere", "X-BeenThere" 40 }; 41 42 48 public ReplyToMailingListCommand(ICommandReference reference) { 49 super(reference); 50 } 51 52 protected void initHeader(IMailbox folder, Object [] uids) 53 throws Exception { 54 Header header = folder.getHeaderFields(uids[0], headerfields); 56 57 BasicHeader rfcHeader = new BasicHeader(header); 58 59 model.setSubject(MessageBuilderHelper.createReplySubject( 61 rfcHeader.getSubject())); 62 63 Address to = rfcHeader.getBeenThere(); 65 66 if (to == null) { 67 Address[] replyTo = rfcHeader.getReplyTo(); 68 69 if (replyTo.length > 0) { 70 to = replyTo[0]; 71 } 72 } 73 74 if (to == null) { 75 to = rfcHeader.getFrom(); 76 } 77 78 MessageBuilderHelper.addAddressesToAddressbook(new Address[] { to }); 79 model.setTo(new Address[] { to }); 80 81 MessageBuilderHelper.createMailingListHeaderItems(header, model); 83 84 Integer accountUid = (Integer ) folder.getAttribute(uids[0], 86 "columba.accountuid"); 87 AccountItem accountItem = MessageBuilderHelper.getAccountItem(accountUid); 88 model.setAccountItem(accountItem); 89 } 90 } 91 | Popular Tags |