X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=sendlib.c;h=9881bbe3aba50daeb1a5c08c18eb50dadc1ec88a;hp=49d4140c3fce8950aa7624febbc70c12e1afdf62;hb=e0571c496935f226abe4a22921b5b4e10d1481e8;hpb=9946738a6a1c27a5602a14d1afe2eea2389732b2 diff --git a/sendlib.c b/sendlib.c index 49d4140..9881bbe 100644 --- a/sendlib.c +++ b/sendlib.c @@ -15,7 +15,8 @@ #include #include #include -#include +#include +#include #include #include "mutt.h" @@ -26,10 +27,9 @@ #include "pager.h" #include "charset.h" #include "mutt_idna.h" -#include "send_smtp.h" #ifdef USE_NNTP -#include +#include "nntp.h" #endif #ifdef HAVE_SYSEXITS_H @@ -1248,17 +1248,13 @@ BODY *mutt_remove_multipart (BODY * b) char *mutt_make_date (char *s, ssize_t len) { - time_t t = time (NULL); - struct tm *l = localtime (&t); - time_t tz = mutt_local_tz (t); + time_t t = time(NULL); + const char *loc; - tz /= 60; - - snprintf (s, len, "Date: %s, %d %s %d %02d:%02d:%02d %+03d%02d\n", - Weekdays[l->tm_wday], l->tm_mday, Months[l->tm_mon], - l->tm_year + 1900, l->tm_hour, l->tm_min, l->tm_sec, - (int) tz / 60, (int) abs (tz) % 60); - return (s); + loc = setlocale(LC_TIME, "C"); + strftime(s, len, "Date: %a, %d %b %Y %T %z\n", localtime(&t)); + setlocale(LC_TIME, loc); + return s; } /* wrapper around mutt_write_address() so we can handle very large @@ -1342,14 +1338,9 @@ static int edit_header(int mode, const char *s) * mode == 1 => "lite" mode (used for edit_hdrs) * mode == 0 => normal mode. write full header + MIME headers * mode == -1 => write just the envelope info (used for postponing messages) - * - * privacy != 0 => will omit any headers which may identify the user. - * Output generated is suitable for being sent through - * anonymous remailer chains. - * */ int mutt_write_rfc822_header (FILE * fp, ENVELOPE * env, BODY * attach, - int mode, int privacy) + int mode) { char buffer[LONG_STRING]; char *p; @@ -1359,13 +1350,13 @@ int mutt_write_rfc822_header (FILE * fp, ENVELOPE * env, BODY * attach, #ifdef USE_NNTP if (!option (OPTNEWSSEND)) #endif - if (mode == 0 && !privacy) + if (mode == 0) fputs (mutt_make_date (buffer, sizeof (buffer)), fp); /* OPTUSEFROM is not consulted here so that we can still write a From: * field if the user sets it with the `my_hdr' command */ - if (env->from && !privacy) { + if (env->from) { buffer[0] = 0; rfc822_addrcat(buffer, sizeof(buffer), env->from, 0); fprintf (fp, "From: %s\n", buffer); @@ -1416,12 +1407,6 @@ int mutt_write_rfc822_header (FILE * fp, ENVELOPE * env, BODY * attach, fprintf (fp, "Followup-To: %s\n", env->followup_to); else if (mode == 1 && option (OPTNEWSSEND) && edit_header(mode, "Followup-To:")) fputs ("Followup-To:\n", fp); - - if (env->x_comment_to) - fprintf (fp, "X-Comment-To: %s\n", env->x_comment_to); - else if (mode == 1 && option (OPTNEWSSEND) && option (OPTXCOMMENTTO) && - edit_header(mode, "X-Comment-To:")) - fputs ("X-Comment-To:\n", fp); #endif if (env->subject) @@ -1430,7 +1415,7 @@ int mutt_write_rfc822_header (FILE * fp, ENVELOPE * env, BODY * attach, fputs ("Subject:\n", fp); /* save message id if the user has set it */ - if (env->message_id && !privacy) + if (env->message_id) fprintf (fp, "Message-ID: %s\n", env->message_id); if (env->reply_to) { @@ -1477,8 +1462,6 @@ int mutt_write_rfc822_header (FILE * fp, ENVELOPE * env, BODY * attach, /* check to see if the user has overridden the user-agent field */ if (!ascii_strncasecmp ("user-agent", tmp->data, 10)) { has_agent = 1; - if (privacy) - continue; } fputs (tmp->data, fp); @@ -1486,7 +1469,7 @@ int mutt_write_rfc822_header (FILE * fp, ENVELOPE * env, BODY * attach, } } - if (mode == 0 && !privacy && option (OPTXMAILER) && !has_agent) { + if (mode == 0 && option (OPTXMAILER) && !has_agent) { if (mod_core.operating_system) { fprintf(fp, "User-Agent: %s (%s)\n", mutt_make_version(), mod_core.operating_system); @@ -1813,11 +1796,9 @@ add_option(const char **args, ssize_t *argslen, ssize_t *argsmax, const char *s) return (args); } -static int mutt_invoke_sendmail (address_t * from, /* the sender */ - address_t * to, address_t * cc, address_t * bcc, /* recips */ - const char *msg, /* file containing message */ - int eightbit) -{ /* message contains 8bit chars */ +int mutt_invoke_mta(address_t *from, address_t *to, address_t *cc, + address_t *bcc, const char *msg, int eightbit) +{ char cmd[LONG_STRING]; char *ps = NULL, *path = NULL, *childout = NULL; const char **args = NULL; @@ -1826,12 +1807,9 @@ static int mutt_invoke_sendmail (address_t * from, /* the sender */ #ifdef USE_NNTP if (option (OPTNEWSSEND)) { - m_strformat(cmd, sizeof(cmd), 0, Inews, nntp_format_str, 0, 0); - if (m_strisempty(cmd)) { - i = nntp_post (msg); - unlink (msg); - return i; - } + i = nntp_post(msg); + unlink(msg); + return i; } else #endif { @@ -1923,22 +1901,6 @@ static int mutt_invoke_sendmail (address_t * from, /* the sender */ return (i); } -int mutt_invoke_mta (address_t * from, /* the sender */ - address_t * to, address_t * cc, address_t * bcc, /* recips */ - const char *msg, /* file containing message */ - int eightbit) -{ /* message contains 8bit chars */ -#ifdef USE_LIBESMTP -#ifdef USE_NNTP - if (!option (OPTNEWSSEND)) -#endif - if (SmtpHost) - return send_smtp_invoke (from, to, cc, bcc, msg, eightbit); -#endif - - return mutt_invoke_sendmail (from, to, cc, bcc, msg, eightbit); -} - /* For postponing (!final) do the necessary encodings only */ void mutt_prepare_envelope (ENVELOPE * env, int final) { @@ -2123,7 +2085,7 @@ int mutt_write_fcc (const char *path, HEADER * hdr, const char *msgid, /* post == 1 => postpone message. Set mode = -1 in mutt_write_rfc822_header() * post == 0 => Normal mode. Set mode = 0 in mutt_write_rfc822_header() * */ - mutt_write_rfc822_header(msg->fp, hdr->env, hdr->content, -post, 0); + mutt_write_rfc822_header(msg->fp, hdr->env, hdr->content, -post); /* (postponment) if this was a reply of some sort, contians the * Message-ID: of message replied to. Save it using a special X-Mutt- @@ -2174,19 +2136,6 @@ int mutt_write_fcc (const char *path, HEADER * hdr, const char *msgid, fputc ('\n', msg->fp); } - /* (postponement) if the mail is to be sent through a mixmaster - * chain, save that information - */ - if (post && hdr->chain && hdr->chain) { - string_list_t *p; - - fputs ("X-Mutt-Mix:", msg->fp); - for (p = hdr->chain; p; p = p->next) - fprintf (msg->fp, " %s", (char *) p->data); - - fputc ('\n', msg->fp); - } - if (tempfp) { char sasha[LONG_STRING]; int lines = 0;