diff -rc alpine-2.22/alpine/send.c alpine-2.22.fromheader/alpine/send.c *** alpine-2.22/alpine/send.c 2020-01-19 01:32:20.126476758 -0700 --- alpine-2.22.fromheader/alpine/send.c 2020-01-19 01:34:53.915466200 -0700 *************** *** 909,915 **** 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, KS_NONE}, {"From : ", "From", h_composer_from, 10, 0, NULL, build_address, NULL, NULL, addr_book_compose, "To AddrBk", NULL, abook_nickname_complete, ! 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, KS_TOADDRBOOK}, {"Reply-To: ", "Reply To", h_composer_reply_to, 10, 0, NULL, build_address, NULL, NULL, addr_book_compose, "To AddrBk", NULL, abook_nickname_complete, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, KS_TOADDRBOOK}, --- 909,915 ---- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, KS_NONE}, {"From : ", "From", h_composer_from, 10, 0, NULL, build_address, NULL, NULL, addr_book_compose, "To AddrBk", NULL, abook_nickname_complete, ! 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, KS_TOADDRBOOK}, {"Reply-To: ", "Reply To", h_composer_reply_to, 10, 0, NULL, build_address, NULL, NULL, addr_book_compose, "To AddrBk", NULL, abook_nickname_complete, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, KS_TOADDRBOOK}, *************** *** 2364,2369 **** --- 2364,2374 ---- he->rich_header = 0; } } + if (F_ON(F_ALLOW_CHANGING_FROM, ps_global) && + !ps_global->never_allow_changing_from){ + he->display_it = 1; /* show it */ + he->rich_header = 0; + } he_from = he; break; *************** *** 3101,3107 **** if(outgoing->return_path) mail_free_address(&outgoing->return_path); ! outgoing->return_path = rfc822_cpy_adr(outgoing->from); /* * Don't ever believe the sender that is there. --- 3106,3114 ---- if(outgoing->return_path) mail_free_address(&outgoing->return_path); ! outgoing->return_path = F_ON(F_USE_DOMAIN_NAME,ps_global) ! ? rfc822_cpy_adr(generate_from()) ! : rfc822_cpy_adr(outgoing->from); /* * Don't ever believe the sender that is there. diff -rc alpine-2.22/pith/conf.c alpine-2.22.fromheader/pith/conf.c *** alpine-2.22/pith/conf.c 2020-01-19 01:32:18.678505766 -0700 --- alpine-2.22.fromheader/pith/conf.c 2020-01-19 01:34:53.918466178 -0700 *************** *** 2908,2913 **** --- 2908,2915 ---- F_NO_FCC_ATTACH, h_config_no_fcc_attach, PREF_SEND, 0}, {"fcc-on-bounce", "Include Fcc When Bouncing Messages", F_FCC_ON_BOUNCE, h_config_fcc_on_bounce, PREF_SEND, 0}, + {"return-path-uses-domain-name", NULL, + F_USE_DOMAIN_NAME, h_config_use_domain, PREF_SEND, 0}, {"mark-fcc-seen", NULL, F_MARK_FCC_SEEN, h_config_mark_fcc_seen, PREF_SEND, 0}, {"fcc-only-without-confirm", "Send to Fcc Only Without Confirming", diff -rc alpine-2.22/pith/conftype.h alpine-2.22.fromheader/pith/conftype.h *** alpine-2.22/pith/conftype.h 2020-01-19 01:32:18.702505283 -0700 --- alpine-2.22.fromheader/pith/conftype.h 2020-01-19 01:34:53.919466170 -0700 *************** *** 404,409 **** --- 404,410 ---- F_AUTO_REPLY_TO, F_VERBOSE_POST, F_FCC_ON_BOUNCE, + F_USE_DOMAIN_NAME, F_SEND_WO_CONFIRM, F_USE_SENDER_NOT_X, F_BLANK_KEYMENU, diff -rc alpine-2.22/pith/pine.hlp alpine-2.22.fromheader/pith/pine.hlp *** alpine-2.22/pith/pine.hlp 2020-01-19 01:32:19.035498584 -0700 --- alpine-2.22.fromheader/pith/pine.hlp 2020-01-19 01:34:53.931466081 -0700 *************** *** 29530,29535 **** --- 29530,29551 ---- <End of help on this topic> + ====== h_config_use_domain ===== + + + FEATURE: <!--#echo var="FEAT_return-path-uses-domain-name"--> + + +

FEATURE:

+ + If you enable this configuration option Pine will use your domain name and your + username in that domain name to construct your Return-Path header, if not Pine + will use the address that you have set in the From: field to construct it. + +

+ <End of help on this topic> + + ====== h_config_use_sender_not_x ===== diff -rc alpine-2.22/pith/send.c alpine-2.22.fromheader/pith/send.c *** alpine-2.22/pith/send.c 2020-01-19 01:32:18.956500171 -0700 --- alpine-2.22.fromheader/pith/send.c 2020-01-19 01:34:53.934466058 -0700 *************** *** 53,59 **** /* name::type::canedit::writehdr::localcopy::rcptto */ PINEFIELD pf_template[] = { {"X-Auth-Received", FreeText, 0, 1, 1, 0}, /* N_AUTHRCVD */ ! {"From", Address, 0, 1, 1, 0}, {"Reply-To", Address, 0, 1, 1, 0}, {TONAME, Address, 1, 1, 1, 1}, {CCNAME, Address, 1, 1, 1, 1}, --- 53,59 ---- /* name::type::canedit::writehdr::localcopy::rcptto */ PINEFIELD pf_template[] = { {"X-Auth-Received", FreeText, 0, 1, 1, 0}, /* N_AUTHRCVD */ ! {"From", Address, 1, 1, 1, 0}, {"Reply-To", Address, 0, 1, 1, 0}, {TONAME, Address, 1, 1, 1, 1}, {CCNAME, Address, 1, 1, 1, 1}, *************** *** 1227,1233 **** } pf->type = pf_template[i].type; ! pf->canedit = pf_template[i].canedit; pf->rcptto = pf_template[i].rcptto; pf->writehdr = pf_template[i].writehdr; pf->localcopy = pf_template[i].localcopy; --- 1227,1233 ---- } pf->type = pf_template[i].type; ! pf->canedit = (i == N_FROM) ? CAN_EDIT(ps_global) : pf_template[i].canedit; pf->rcptto = pf_template[i].rcptto; pf->writehdr = pf_template[i].writehdr; pf->localcopy = pf_template[i].localcopy; diff -rc alpine-2.22/pith/send.h alpine-2.22.fromheader/pith/send.h *** alpine-2.22/pith/send.h 2020-01-19 01:32:19.354492198 -0700 --- alpine-2.22.fromheader/pith/send.h 2020-01-19 01:34:53.934466058 -0700 *************** *** 159,164 **** --- 159,166 ---- unsigned text_written:1; }; + #define CAN_EDIT(x) (!((x)->never_allow_changing_from) && \ + F_ON(F_ALLOW_CHANGING_FROM, (x))) #define TONAME "To" #define CCNAME "cc"