X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=uip%2Fspost.c;h=bfa8f4bed99e92a9743d02a0bc015e73340f47bf;hb=1201af682c2a7e34d4d598e62718306b885a187e;hp=9b2ffcbc932ba3925180424353dff07486b7f62f;hpb=4cb212cf82fa0c832ee3247da33e733f5cce04d6;p=mmh diff --git a/uip/spost.c b/uip/spost.c index 9b2ffcb..bfa8f4b 100644 --- a/uip/spost.c +++ b/uip/spost.c @@ -149,7 +149,7 @@ main(int argc, char **argv) switch (smatch(++cp, switches)) { case AMBIGSW: ambigsw(cp, switches); - done(1); + exit(1); case UNKWNSW: adios(NULL, "-%s unknown", cp); @@ -158,10 +158,10 @@ main(int argc, char **argv) "%s [switches] file", invo_name); print_help(buf, switches, 1); - done(1); + exit(0); case VERSIONSW: print_version(invo_name); - done(1); + exit(0); case DEBUGSW: debug++; @@ -262,7 +262,7 @@ main(int argc, char **argv) if (debug) { /* stop here */ - done(0); + exit(0); } fclose(out); @@ -430,7 +430,7 @@ finish_headers(FILE *out) fprintf(out, "%sDate: %s\n", resentstr, dtimenow()); } - strncpy(from, getusername(), sizeof(from)); + snprintf(from, sizeof(from), "%s@%s", getusername(), LocalName()); if ((cp = getfullname()) && *cp) { snprintf(signature, sizeof(signature), "%s <%s>", cp, from); } else { @@ -439,11 +439,14 @@ finish_headers(FILE *out) if (!(msgflags & MFRM)) { fprintf(out, "%sFrom: %s\n", resentstr, signature); } else { - /* In case the From: header contains multiple addresses. */ + /* + ** Add a Sender: header because the From: header could + ** be fake or contain multiple addresses. + */ fprintf(out, "%sSender: %s\n", resentstr, from); } if (!(msgflags & MVIS)) { - fprintf(out, "%sBcc: Blind Distribution List: ;\n", resentstr); + fprintf(out, "%sBcc: undisclosed-recipients:;\n", resentstr); } if (badmsg) { unlink(tmpfil); @@ -625,7 +628,6 @@ static void process_bccs(char *origmsg) { char *bccdraft = NULL; - char buf[BUFSIZ]; struct mailname *mp = NULL; FILE *out = NULL; @@ -637,8 +639,7 @@ process_bccs(char *origmsg) fprintf(out, "------------\n"); fclose(out); - snprintf(buf, sizeof buf, "send %s", bccdraft); - if (system(buf) != 0) { + if (execprogl("send", "send", bccdraft, (char *)NULL) != 0) { admonish(invo_name, "Problems to send Bcc to %s", mp->m_text); unlink(bccdraft);