* when "sendmail" is the transport system.
*
* $Id$
+ *
+ * This code is Copyright (c) 2002, by the authors of nmh. See the
+ * COPYRIGHT file in the root directory of the nmh distribution for
+ * complete copyright information.
*/
#include <h/mh.h>
#include <h/aliasbr.h>
#include <h/dropsbr.h>
#include <h/tws.h>
-#include <zotnet/mts/mts.h>
+#include <h/mts.h>
+#include <h/utils.h>
#define uptolow(c) ((isalpha(c) && isupper (c)) ? tolower (c) : c)
extern char *getfullname (void);
extern char *getusername (void);
+extern boolean draft_from_masquerading; /* defined in mts.c */
+
/*
* static prototypes
*/
case normal:
if (!(msgflags & MDAT))
fprintf (out, "Date: %s\n", dtimenow (0));
- if (msgflags & MFRM)
- fprintf (out, "Sender: %s\n", from);
+
+ 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
fprintf (out, "From: %s\n", signature);
+
#ifdef notdef
if (!(msgflags & MVIS))
fprintf (out, "Bcc: Blind Distribution List: ;\n");
case resent:
if (!(msgflags & MRDT))
fprintf (out, "Resent-Date: %s\n", dtimenow(0));
- if (msgflags & MRFM)
- fprintf (out, "Resent-Sender: %s\n", from);
+ if (msgflags & MRFM) {
+ /* There was already a Resent-From: in 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, "Resent-Sender: %s\n", from);
+ }
else
+ /* Construct a Resent-From: header. */
fprintf (out, "Resent-From: %s\n", signature);
#ifdef notdef
if (!(msgflags & MVIS))
char *vec[6];
FILE * in, *out;
+#ifdef HAVE_MKSTEMP
+ fd = mkstemp(bccfil);
+ if (fd == -1 || (out = fdopen(fd, "w")) == NULL)
+ adios (bccfil, "unable to create");
+#else
mktemp (bccfil);
if ((out = fopen (bccfil, "w")) == NULL)
adios (bccfil, "unable to create");
+#endif
chmod (bccfil, 0600);
fprintf (out, "Date: %s\n", dtimenow (0));