Hello list,
maybe fyi, here is my $MAILRC (used with $MAILX_NO_SYSTEM_RC=1).
It loads an additional private resource file via *mailx-extra-rc*
as appropriate, this contains mailing list definitions, aliases,
test macros etc.
--steffen
|
|Der Kragenbaer, The moon bear,
|der holt sich munter he cheerfully and one by one
|einen nach dem anderen runter wa.ks himself off
|(By Robert Gernhardt)
#@ ~/.s-mailrc
## -- >8 ~/.mailrc overrides 8< -- ##
# environ set, but..
set \
DEAD='${TMPDIR}/${LOGNAME}-dead.letter' \
EDITOR="vim -c ':set filetype=mail'" \
PAGER=less \
LISTER='ls -latr' \
MBOX=+mbox \
VISUAL=ed
set \
append asksub \
crt=1 \
folder=sec.arena/mail \
header hold \
indentprefix=' |' \
keep keepsave \
outfolder \
nosave \
sendwait
#retain blahblahblah date from to cc subject message-id \
# mail-followup-to openpgp reply-to user-agent
#set mailx-extra-rc=~/.s-mailrc-private
## -- >8 -- 8< -- ##
#rfc822-body-from_ editalong
set \
autocollapse autosort=thread \
colour-pager crt \
editheaders emptystart escape=! \
forward-inject-head='-- >8 -- >8 -- Forwarded message -- 8< -- 8< --' \
fullnames \
headline-bidi= headline='%>%a%T%4m %-18f %-11d %4l/%5o %i%-s' \
history-file=~/.s-mailhist history-gabby \
ignoreeof \
markanswered \
mime-alternative-favour-rich mime-counter-evidence=0xE \
mimetypes-load-control \
netrc-lookup netrc-pipe='gpg -qd ~/.netrc.gpg' \
prompt='?\${?}!\${!}[\${account}#\${mailbox-display}]? ' \
quote= quote-fold=80\ 69 \
recipients-in-cc record-files record-resent reply-in-same-charset \
sendcharsets-else-ttycharset showname showto \
toplines=-1 topsqueeze \
umask= \
writebackedited
# ssl-verify=warn
set smime-ca-file=~/sec.arena/ssl.git/cacert.pem smime-ca-no-defaults \
smime-sign-message-digest=SHA512 \
ssl-ca-file=~/sec.arena/ssl.git/cacert.pem ssl-ca-no-defaults
alias ich 'Steffen Nurpmeso <[email protected]>'
# Since v14.7.9 we finally can decide what we can use.
# Will not work for versions before that however because of an oversight so
# that non-existent commands will cause errors even inside "if 0" blocks.
if [ "$version" != '' ]
# Avoid ASCII "propagates to 8-bit" when scripting
if [ "$LC_ALL" == C ] || [ "$LC_CTYPE" == C ]
unset sendcharsets-else-ttycharset
end
define v14_8 {
set followup-to \
folder-hook-+download=fh-thread-nocollapse \
folder-hook-+gmane=fh-thread-nocollapse \
folder-hook-+sent=fh-sortdate-showlast \
followup-to-honour=ask-yes \
reply-to-honour=ask-yes \
ssl-cipher-list=TLSv1.2:!aNULL:!eNULL:@STRENGTH \
ssl-protocol=-ALL,TLSv1.2
set spam-interface=filter spam-maxsize=500000 \
spamc-arguments='-U /tmp/.spamsock' spamc-user= \
spamfilter-ham='bogofilter -n' \
spamfilter-noham='bogofilter -N' \
spamfilter-nospam='bogofilter -S' \
spamfilter-rate='bogofilter -TTu 2>/dev/null' \
spamfilter-spam='bogofilter -s' \
spamfilter-rate-scanscore='1;^(.+)$'
ghost H spamham
ghost R spamrate
ghost S spamspam
# filter-html-tagsoup check in v14_9 to avoid `if !@' obsoletion warning
}
define v14_9 {
\commandalias ghost '\'commandalias # COMPAT
\commandalias ca '\'commandalias
\commandalias xv '\call xverbose'
\commandalias xd '\call xdebug'
\filetype \
bz2 'bzip2 -dc' 'bzip2 -zc' \
gpg 'gpg -d' 'gpg -e' \
gz 'gzip -dc' 'gzip -zc' \
xz 'xz -dc' 'xz -zc' \
zst 'zstd -dc' 'zstd -19 -zc' \
zst.pgp 'gpg -d | zstd -dc' 'zstd -19 -zc | gpg -e'
\headerpick type retain \
blahblahblah date from to cc subject message-id \
mail-followup-to openpgp reply-to user-agent
\headerpick forward retain \
date from to cc subject reply-to mail-followup-to list-id \
openpgp
\if [ "$features" =% +regex ]
\headerpick save ignore ^Original-.*$ ^X-.*$ ^DKIM.*$
\end
\if t
\environ unset LESS # We want builtin!
\if [ "$OSTYPE" == darwin ]
\wysh set pipe-application/pdf='@=&@\
trap "rm -f \"${MAILX_FILENAME_TEMPORARY}\"" EXIT;\
trap "trap \"\" INT QUIT TERM; exit 1" INT QUIT TERM;\
/Applications/Preview.app/Contents/MacOS/Preview \
"${MAILX_FILENAME_TEMPORARY}"'
\else
\wysh set pipe-application/pdf='@=&@\
trap "rm -f \"${MAILX_FILENAME_TEMPORARY}\"" EXIT;\
trap "trap \"\" INT QUIT TERM; exit 1" INT QUIT TERM;\
mupdf "${MAILX_FILENAME_TEMPORARY}"'
\end
\end
\if t && [ "$features" =% +mle ] && [ "$features" =% +colour ]
\colour 256 mle-position fg=202
\colour 256 mle-prompt fg=red
\colour iso mle-position ft=bold
\colour iso mle-prompt fg=red
\colour mono mle-position ft=bold
\colour mono mle-prompt ft=bold
\colour 256 sum-dotmark ft=bold,fg=13 dot
\colour 256 sum-header fg=19 older
\colour 256 sum-header fg=16,bg=219 dot
\colour 256 sum-header fg=17
\colour 256 sum-thread ft=bold,fg=164,bg=219 dot
\colour 256 sum-thread fg=172
\colour iso sum-dotmark ft=reverse,fg=blue dot
\colour iso sum-header fg=blue dot
\colour iso sum-thread fg=blue dot
\colour iso sum-thread fg=magenta
\colour mono sum-dotmark ft=bold,ft=reverse dot
\colour mono sum-header ft=bold dot
\colour mono sum-thread ft=bold dot
\colour 256 view-from_ fg=142
\colour 256 view-header ft=bold,fg=red from,subject
\colour 256 view-header fg=124 to,cc
\colour 256 view-header fg=203 reply-to,mail-followup-to,user-agent
\colour 256 view-header fg=88
\colour 256 view-msginfo fg=green
\colour 256 view-partinfo fg=brown
\colour iso view-from_ fg=brown
\colour iso view-header ft=bold,fg=red from,subject
\colour iso view-header fg=red
\colour iso view-msginfo fg=green
\colour iso view-partinfo fg=brown
\colour mono view-header ft=bold from,subject
\colour mono view-msginfo ft=reverse,ft=underline
\colour mono view-partinfo ft=bold,ft=underline
\end
\if t && [ "$features" =% +key-bindings ]
\bind base $'\e',d mle-snarf-word-fwd
\bind base $'\e',$'\c?' mle-snarf-word-bwd
\bind base $'\e',f mle-go-word-fwd
\bind base $'\e',b mle-go-word-bwd
\bind default :kf1 Fi%
\bind default :kf2 Fi'&'
\bind default :kf3 Fi+download
\bind default :kf4 Fi+gmane
\bind default :kf12 fi%
\bind default :kf11 fi'&'
\bind default :kf10 fi+download
\bind default :kf9 fi+gmane
\bind compose :kf1 !e
\if [ "$HOSTNAME" == wales ] || [ "$HOSTNAME" == scot ]
\set termcap='kHOM=\E[H,kEND=\E[F,kUP5=\E[5A,kDN5=\E[5B'
\end
# Here to be able to use new-style `if' things
\if [ "$COLUMNS" -gt 110 ]
\set datefield='%G-%m-%d %R' datefield-markout-older='%G-%m-%d' \
headline='%>%a%T%4m %-33f %-16d %5l/%7o %i%-s'
\end
\if [ "$features" !% +filter-html-tagsoup ]
\set pipe-text/html='lynx -stdin -dump -force_html'
\endif
\end
#\source "gpg -qd ~/.s-mailrc-private.gpg |"
\set mailx-extra-rc=~/.s-mailrc-private
}
if [ "$version-major" >= 14 ]
if [ $version >= v14.9.0 ]
\call v14_9
else
retain blahblahblah date from to cc subject message-id \
mail-followup-to openpgp reply-to user-agent
fwdretain date from to cc subject reply-to mail-followup-to list-id
endif
call v14_8
endif
undefine v14_8 v14_9
ghost q 'echo You do not want to quit, do you?'
ghost L '!ls ${LS_COLOR_FLAG} -aFt'
ghost l '!ls ${LS_COLOR_FLAG} -aFtr'
ghost lL '!ls ${LS_COLOR_FLAG} -aFlt'
ghost ll '!ls ${LS_COLOR_FLAG} -aFltr'
ghost lA '!ls ${LS_COLOR_FLAG} -aF'
ghost la '!ls ${LS_COLOR_FLAG} -aFr'
ghost llA '!ls ${LS_COLOR_FLAG} -aFl'
ghost lla '!ls ${LS_COLOR_FLAG} -aFlr'
ghost lS '!ls ${LS_COLOR_FLAG} -aFS'
ghost ls '!ls ${LS_COLOR_FLAG} -aFrS'
ghost llS '!ls ${LS_COLOR_FLAG} -aFlS'
ghost lls '!ls ${LS_COLOR_FLAG} -aFlrS'
ghost pl \
'!ps -U ${LOGNAME} -o user,pid,ppid,pcpu,pmem,rss,stat,tty,time,args'
ghost plw \
'!ps -ww -U ${LOGNAME} -o user,pid,ppid,pcpu,pmem,rss,stat,tty,time,args'
ghost pla '!ps -A -o user,pid,ppid,pcpu,pmem,rss,stat,tty,time,args'
ghost plaw '!ps -A -ww -o user,pid,ppid,pcpu,pmem,rss,stat,tty,time,args'
else
set ssl-method=auto
set pipe-text/html='lynx -stdin -dump -force_html'
retain blahblahblah date from to cc subject message-id \
mail-followup-to openpgp reply-to user-agent
fwdretain date from to cc subject reply-to mail-followup-to list-id
endif
# /$version
define xverbose {
\localopts yes; \wysh set verbose; \eval "${@}"
}
define xdebug {
\localopts yes; \wysh set debug; \eval "${@}"
}
define V {
\localopts yes; \wysh set pipe-text/plain=$'@*#++=@\
< "${MAILX_FILENAME_TEMPORARY}" awk \
-v TMPFILE="${MAILX_FILENAME_TEMPORARY}" \'\
BEGIN{done=0}\
/^-----BEGIN PGP SIGNED MESSAGE-----/,/^$/ {\
if(done++ != 0)\
next;\
print "--- GPG --verify ---";\
system("gpg --verify " TMPFILE " 2>&1");\
print "--- GPG --verify ---";\
print "";\
next;\
}\
/^-----BEGIN PGP SIGNATURE-----/,/^-----END PGP SIGNATURE-----/ {\
next;\
}\
{print}\
\'';\
print
}
define fh-sortdate-showlast {
set autosort=date showlast
}
define fh-thread-nocollapse {
set noautocollapse autosort=thread
}
define kb-clear {
\unbind * *
\bind base $'\n' mle-commit
\bind base $'\c?' mle-del-bwd
\bind base $'\cE' mle-go-end
}
define mboxfix {
\localopts yes; \wysh set mbox-rfc4155;\
\wysh File "${1}"; \eval copy * "${2}"
}
define viewit {
\localopts yes
\set mime-counter-evidence=0xFF
\type
}
define gmane {
\localopts yes
\set noheader
#File%
\!exec gmane-fetch.pl
\localopts no
\file+gmane
\headers
}
define load-sdaoden.eu {
\localopts yes
\set noheader
\!exec ssh [email protected] "\
{ \
{ \
echo 'move \"@f@FedEx|lottery\" \
\"@OBORON|\\[SPAM|\
beloved|business|charity|dear friend|darlehen|donation|\
investment|kredit|loan|payment|urgent|voicemail\" \
\"@^[[:space:]]*((hello|re):?[[:space:]]*)?\$\" \
~/spam.mbox';\
echo 'move * ~/download.mbox'; \
} |\
/usr/local/bin/s-nail -:/ -#f %:/var/spool/mail/steffen; \
} >/dev/null >&1 &&\
\
if [ -f ~/download.mbox ]; then \
cat ~/download.mbox &&\
rm ~/download.mbox;\
fi\
" >> ~/sec.arena/mail/download
\file+download
\headers
}
define spam-show-sdaoden.eu {
\!exec ssh [email protected] '/usr/local/bin/s-nail -HRf ~/spam.mbox'
}
define spam-del-sdaoden.eu {
\!exec ssh [email protected] "\
{ \
echo 'delete *' |\
/usr/local/bin/s-nail -#f ~/spam.mbox; \
}\
"
}
define load-opencsw.org {
\localopts yes
\set noheader
\!exec ssh [email protected] "\
if [ -f ~/src/mbox.mbox ]; then \
mv -f ~/src/mbox.mbox ~/src/mbox.old;\
cat ~/src/mbox.old;\
rm -f ~/src/mbox.old;\
fi\
" >> ~/sec.arena/mail/download
\file+download
\headers
}
set sn-alternates='[email protected] \
[email protected] [email protected] \
[email protected] [email protected] \
[email protected] \
[email protected]'
define _sn_shared {
\eval \\alternates $sn-alternates
#sign=$'\n--steffen\n|\n\
# |OpenPGP (232C 220B CB56 90A3 7BD2 2FFD EB66 0227) 95F3 82CE'
\wysh set \
customhdr='OpenPGP: id=232C220BCB5690A37BD22FFDEB66022795F382CE; \
url=https://www.sdaoden.eu/downloads/steffen.asc,\
BlahBlahBlah: Any stupid boy can crush a beetle. \
But all the professors in the world can make no bugs.' \
nostealthmua \
record=+sent \
sign=$'\n--steffen\n|\n\
|Der Kragenbaer, The moon bear,\n\
|der holt sich munter he cheerfully and one by one\n\
|einen nach dem anderen runter wa.ks himself off\n\
|(By Robert Gernhardt)' \
user=sdaoden \
v15-compat
\wysh set message-inject-tail=$sign
}
define _sn_gmail {
\call _sn_shared
\set hostname=gmail.com \
mta=smtps://smtp.gmail.com:465 smtp-hostname=
\shortcut pop '%:pop3s://pop.gmail.com'
\commandalias xp 'fi pop'
}
define _sn_yandex {
\call _sn_shared
\set hostname=yandex.com \
pop3-keepalive-pop.yandex.ru=55 \
mta=smtps://smtp.yandex.ru:465 smtp-hostname=
\shortcut pop '%:pop3s://pop.yandex.ru'
\commandalias xp 'fi pop'
}
account sn_gm {
\call sn_gm
}
define sn_gm {
\call _sn_gmail
\set from='Steffen Nurpmeso <[email protected]>'
}
account sn_sf {
\call sn_sf
}
define sn_sf {
\call _sn_yandex
\set from='[email protected] (Steffen Nurpmeso)'
}
account sn_y {
\call sn_y
}
define sn_y {
\call _sn_yandex
\set from='Steffen Nurpmeso <[email protected]>'
}
account ich {
\call ich
}
define ich {
\call _sn_shared
\set autobcc=ich \
mta=/bin/ssh mta-argv0=ssh \
mta-no-default-arguments \
mta-arguments='[email protected] /usr/sbin/sendmail -t' \
user=steffen
\set from='Steffen Nurpmeso <[email protected]>'
# smime-sign
\set \
[email protected]=\
~/sec.arena/ssl.git/startssl-steffen%40sdaoden.eu.pair \
smime-sign-include-certs=~/sec.arena/ssl.git/\
startssl-steffen%40sdaoden.eu.intermediate.crt
\commandalias newmail 'call load-sdaoden.eu'
\commandalias xp 'echo No such ghost'
}
define default_account {
\account ich
}
# s-it-mode
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
__________________________________
[email protected]