static char *clientsw = NULL;
static char *serversw = NULL;
-extern struct smtp sm_reply;
-
static char prefix[] = "----- =_aaaaaaaaaa";
static char *partno = NULL;
FILE *in, *out;
m_getfld_state_t gstate = 0;
-#ifdef LOCALE
- setlocale(LC_ALL, "");
-#endif
- invo_name = r1bindex (argv[0], '/');
-
- /* foil search of user profile/context */
- if (context_foil (NULL) == -1)
- done (1);
+ if (nmh_init(argv[0], 0 /* use context_foil() */)) { return 1; }
mts_init (invo_name);
arguments = getarguments (invo_name, argc, argv, 0);
if ((out = fopen ("/dev/null", "w")) == NULL)
adios ("/dev/null", "unable to open");
} else {
- char *cp = m_mktemp(m_maildir(invo_name), NULL, &out);
- if (cp == NULL) {
- cp = m_mktemp2(NULL, invo_name, NULL, &out);
- if (cp == NULL) {
- adios ("post", "unable to create temporary file");
- }
- }
+ char *cp = m_mktemp2(NULL, invo_name, NULL, &out);
+ if (cp == NULL) {
+ adios(NULL, "unable to create temporary file in %s",
+ get_temp_dir());
+ }
strncpy(tmpfil, cp, sizeof(tmpfil));
- chmod (tmpfil, 0600);
}
}
post (tmpfil, 0, verbose, envelope);
}
post (bccfil, 1, verbose, envelope);
- unlink (bccfil);
+ (void) m_unlink (bccfil);
} else {
post (tmpfil, 0, isatty (1), envelope);
}
p_refile (tmpfil);
- unlink (tmpfil);
+ (void) m_unlink (tmpfil);
+
+ if (verbose) {
+ if (partno)
+ printf ("Partial Message #%s Processed\n", partno);
+ else
+ printf ("Message Processed\n");
+ }
- if (verbose)
- printf (partno ? "Partial Message #%s Processed\n" : "Message Processed\n",
- partno);
done (0);
return 1;
}
{
int count, grp, i, keep;
char *cp, *pp, *qp;
- char namep[BUFSIZ];
+ char namep[BUFSIZ], error[BUFSIZ];
struct mailname *mp = NULL, *np = NULL;
struct headers *hdr;
tmpaddrs.m_next = NULL;
for (count = 0; (cp = getname (str)); count++)
- if ((mp = getm (cp, NULL, 0, AD_HOST, NULL))) {
+ if ((mp = getm (cp, NULL, 0, error, sizeof(error)))) {
if (tmpaddrs.m_next)
np->m_next = mp;
else
tmpaddrs.m_next = mp;
np = mp;
}
- else
+ else {
+ admonish(cp, "%s", error);
if (hdr->flags & HTRY)
badadr++;
else
badmsg++;
+ }
if (count < 1) {
if (hdr->flags & HNIL)
if (np->m_gname)
putgrp (namep, np->m_gname, out, hdr->flags);
while ((cp = getname (pp))) {
- if (!(mp = getm (cp, NULL, 0, AD_HOST, NULL))) {
+ if (!(mp = getm (cp, NULL, 0, error, sizeof(error)))) {
+ admonish(cp, "%s", error);
badadr++;
continue;
}
FILE *out;
char *tfile = NULL, *program;
- tfile = m_mktemp2(NULL, "bccs", NULL, &out);
- if (tfile == NULL) adios("bcc", "unable to create temporary file");
+ if ((tfile = m_mktemp2(NULL, "bccs", NULL, &out)) == NULL) {
+ adios(NULL, "unable to create temporary file in %s", get_temp_dir());
+ }
strncpy (bccfil, tfile, sizeof(bccfil));
fprintf (out, "From: %s\n", fullfrom);
{
NMH_UNUSED (i);
- unlink (tmpfil);
+ (void) m_unlink (tmpfil);
if (msgflags & MINV)
- unlink (bccfil);
+ (void) m_unlink (bccfil);
if (!whomsw || checksw)
sm_end (NOTOK);
{
va_list ap;
- unlink (tmpfil);
+ (void) m_unlink (tmpfil);
if (msgflags & MINV)
- unlink (bccfil);
+ (void) m_unlink (bccfil);
if (!whomsw || checksw)
sm_end (NOTOK);