Index: AddressList.java
===================================================================
RCS file: /cvsroot/mozilla/grendel/composition/AddressList.java,v
retrieving revision 1.4
diff -r1.4 AddressList.java
241a242,246
>                   //  If the last addressee line was a From: we don't want the new one
>                   //  to be one as well, since only the last From: will be valid.
>                   if(lastAL.getDeliveryMode() == Addressee.FROM) {
>                     addAddresseLine (new Addressee ("", Addressee.TO));
>                   } else {
242a248
>                   }
Index: Addressee.java
===================================================================
RCS file: /cvsroot/mozilla/grendel/composition/Addressee.java,v
retrieving revision 1.1
diff -r1.1 Addressee.java
34a35
>     public static final int FROM        = 6;
36c37
<     public static final String[] mDeliveryStr = {"To:", "Cc:", "Bcc:", "Group:", "Reply-To:", "Followup-To:"};
---
>     public static final String[] mDeliveryStr = {"To:", "Cc:", "Bcc:", "Group:", "Reply-To:", "Followup-To:", "From:"};
Index: CompositionPanel.java
===================================================================
RCS file: /cvsroot/mozilla/grendel/composition/CompositionPanel.java,v
retrieving revision 1.7
diff -r1.7 CompositionPanel.java
435,436c435,437
<               javax.mail.Address[] toAddress = new InternetAddress[1];
<               toAddress[0] = new InternetAddress(recipients[i].getText());
---
>               if(recipients[i].getDelivery() != Addressee.FROM) {
>                 javax.mail.Address[] toAddress = new InternetAddress[1];
>                 Message.RecipientType deliverMode = Message.RecipientType.TO;
438c439
<               Message.RecipientType deliverMode = Message.RecipientType.TO;
---
>                 toAddress[0] = new InternetAddress(recipients[i].getText());
440,451c441,464
<               //map grendel.composition.Addressee delivery modes
<               //  into javax.mail.Message delivery modes.
<               switch (recipients[i].getDelivery()) {
<                 case Addressee.TO:
<                   deliverMode = Message.RecipientType.TO;
<                   break;
<                 case Addressee.CC:
<                   deliverMode = Message.RecipientType.CC;
<                   break;
<                 case Addressee.BCC:
<                   deliverMode = Message.RecipientType.BCC;
<                   break;
---
>                 //map grendel.composition.Addressee delivery modes
>                 //  into javax.mail.Message delivery modes.
>                 switch (recipients[i].getDelivery()) {
>                   case Addressee.TO:
>                     deliverMode = Message.RecipientType.TO;
>                     break;
>                   case Addressee.CC:
>                     deliverMode = Message.RecipientType.CC;
>                     break;
>                   case Addressee.BCC:
>                     deliverMode = Message.RecipientType.BCC;
>                     break;
>                 }
>                 msg.addRecipients(deliverMode, toAddress);
>               } else {
>                 //  Should we consider assert()ing if the user has multiple
>                 //  From: entries, or silently use the last listed one?
>                 //  Rarely will the user have multiple From's, I think...
>                 //  Probably the place for a Dialog which asks 'You've already
>                 //  set a From: entry!  Use this instead?  (Y/N/Cancel).
>                 userName = recipients[i].getText();
> 
>                 //set who's sending this message.
>                 msg.setFrom (new InternetAddress(userName));
453d465
<               msg.addRecipients(deliverMode, toAddress);
