X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=uip%2Fpost.c;h=96120c1e6791ad82fd0d13688873a51d1803fb4b;hp=4ca59553556f52f7e9ebce1002267d1b506537a9;hb=d2f12554a254e814dcdafb3828fc0d9936154eef;hpb=3465392f2ac1ac472d44c10c3c989389421c82b2 diff --git a/uip/post.c b/uip/post.c index 4ca5955..96120c1 100644 --- a/uip/post.c +++ b/uip/post.c @@ -946,7 +946,7 @@ get_header (char *header, struct headers *table) struct headers *h; for (h = table; h->value; h++) - if (!strcasecmp (header, h->value)) + if (!mh_strcasecmp (header, h->value)) return (h - table); return NOTOK; @@ -1048,8 +1048,8 @@ insert (struct mailname *np) : &netaddrs; mp->m_next; mp = mp->m_next) - if (!strcasecmp (np->m_host, mp->m_next->m_host) - && !strcasecmp (np->m_mbox, mp->m_next->m_mbox) + if (!mh_strcasecmp (np->m_host, mp->m_next->m_host) + && !mh_strcasecmp (np->m_mbox, mp->m_next->m_mbox) && np->m_bcc == mp->m_next->m_bcc) return 0; @@ -1167,7 +1167,18 @@ make_bcc_file (int dashstuff) if (msgid) fprintf (out, "Message-ID: <%d.%ld@%s>\n", (int) getpid (), (long) tclock, LocalName ()); - fprintf (out, "From: %s\n", signature); + if (msgflags & MFRM) { + /* There was already a From: in the draft. Don't add one. */ + if (!draft_from_masquerading) + /* mts.conf didn't contain "masquerade:[...]draft_from[...]" + so we'll reveal the user's actual account@thismachine + address in a Sender: header (and use it as the envelope + From: later). */ + fprintf (out, "Sender: %s\n", from); + } + else + /* Construct a From: header. */ + fprintf (out, "From: %s\n", signature); if (subject) fprintf (out, "Subject: %s", subject); fprintf (out, "BCC:\n");