• Diese Seite verwendet Cookies. Indem du diese Website weiterhin nutzt, erklärst du dich mit der Verwendung von Cookies einverstanden. Erfahre mehr

Unterschiedliche relay hosts bei klassischen MUAs

hippodriver

Well-Known Member
Themenstarter #1
Inspiriert von dem aktuellen Thread (http://www.bsdforen.de/showthread.php?p=195894) frage ich mal etwas, das mich seit Jahren umtreibt.

Wenn man klassische command line MUAs wie pine oder mutt einsetzt, verwendet man zum Absenden von Mails einen vollwertigen MTA oder einen SMTP-Forwarder (z.B. ssmtp). Mit nur einer Mailadresse und nur einem relay host ist das kein Problem. Aber was ist mit folgendem Szenario.

Ich habe 4 Mailadressen bei verschiedenen Anbietern: alpha@gmx.de, beta@gmx.net, gamma@googlemail.com und delta@uni-universalis.de. Mails müssten jetzt je nach verwendeter From-Adresse über unterschiedliche relay hosts versandt werden. Eine Mail mit falscher From-Adresse wird von den SMTP-Servern abgewiesen. Also kann ich nicht einfach alle Mails über einen relay rausjagen.

Bei modernen GUI-MUAs wie claws-mail verbindet man einfach jede Mailadresse mit einem anderen SMTP-Server und fertig. Dadurch, daß die MUAs selbst SMTP sprechen, ist das kein Problem. Aber bei mutt oder alpine müsste ein nachgelagertes Programm den relay host wählen.

Tatsächlich war das vor Jahren der Grund, warum ich von mutt auf claws-mail umgestiegen bin. Denoch vermisse ich mutt und pine. claws-mail per X-Forward auf einem 1024x768 Display macht keinen Spaß.


MfG
Michael Krauß
 

kazcor

Reigstreed Usre
#2
Für mutt machst Du einfach pro Account eine Konfigurationsdatei, welche die abweichenden Einstellungen enthält, z.B.
Code:
set from="alpha@gmx.de"
set realname="Heiko Mustermann"
set use_from=yes
set use_envelope_from=yes
set sendmail="/usr/local/bin/nbsmtp -h mail.gmx.de -U alpha@gmx.de -P password"
und
Code:
set from="beta@gmx.net"
set realname="Heike Musterfrau"
set use_from=yes
set use_envelope_from=yes
set sendmail="/usr/local/bin/nbsmtp -h mail.gmx.net -U beta@gmx.net -P password2"
Beleg Dir dann einfach die Accounts mit irgendwelchen Tasten, ala
Code:
macro   index   <F10>    ":source ~/.mutt/alpha.gmx\n" "Load profile: alpha@gmx.de"
macro   index   <F11>    ":source ~/.mutt/beta.gmx\n" "Load profile: beta@gmx.net"
Dann kannst Du entsprechend zwischen den Accounts wählen und hast mit einem SMTP client wie nbsmtp oder msmtp die Möglichkeit jeweils unterschiedliche relays anzusprechen.
 
#3
Zumindest für mutt kann ich dir, zusätzlich zu kazcor's post, wärmstens
/usr/ports/mail/msmtp als localen Mailer empfehlen.

Einfach in die ~/.msmtprc in etwa das fogende

Code:
#alpha
account alpha 
tls on
tls_trust_file /usr/local/share/certs/ca-root-nss.crt
host smtp.sonst.wo
from alpha@gmx.de 
auth on
user abcdefghi
password  blabla
port 587 

#beta
account beta 
tls on
tls_trust_file /usr/local/share/certs/ca-root-nss.crt
host smtp.gmx.net
from beta@gmx.net
auth on
user  jklmnopq 
password dadada 
port 587

#gamma 
account gamma
tls on
tls_trust_file /usr/local/share/certs/ca-root-nss.crt
host smtp.gmail.com  
from gamma@gmail.com
auth on
user  gamma@gmail.com
password spammichblöde 
port 587
Ich weiß nicht, ob z.B. gmx tls/ssl unterstützt (google tut das), ansonsten
bitte entsprechend ports ändern.
Mutt & msmtp können das, was du machen willst, (neben einigem mehr) ganz
ausgezeichnet.
Mit den Settings von kazcor in der muttrc sollte das eigentlich
schon problemlos gehen mit msmtp, nur
Code:
set sendmail="/usr/local/bin/msmtp"
sollte wohl anstelle in die muttrc. Eine weitere Möglichkei zu kazcor's Variante in mutt
verschiedene User zu benutzen ist:
Code:
macro generic "<esc>1" ":set from='alpha <alphagmx.de>'"
macro generic "<esc>2" ":set from='beta <beta@gmx.net>'"
macro generic "<esc>3" ":set from='gamma < gamma ....m>'
Durch die Tatenkombination, also 'Esc und 1' wird dann z.B der User alpha als
Sender verwandt.

Noch'ne Variante wäre mittels folder-hooks,wenn z.B gamma eine mutt
bekannte mailbox namens 'gamma' hat in etwa:
Code:
folder-hook gamma "set from='gamma < gamma ....m>' "
etc. ....
Willkommen zurück bei mutt. ( Nur flash5.231 bis 10.1/2 kann er ganz schlecht )
 
Zuletzt bearbeitet:
#4
Mit Macros zu arbeiten ist hier nicht der Hit, schliesslich will man nicht, bevor man auf Mails antwortet, den richtigen Account auswaehlen.

Laesst sich alles prima mit reply-hooks und send-hooks automatisieren.
 

Wiedmann

Well-Known Member
#5
Ich habe 4 Mailadressen bei verschiedenen Anbietern: alpha@gmx.de, beta@gmx.net, gamma@googlemail.com und delta@uni-universalis.de. Mails müssten jetzt je nach verwendeter From-Adresse über unterschiedliche relay hosts versandt werden. Eine Mail mit falscher From-Adresse wird von den SMTP-Servern abgewiesen. Also kann ich nicht einfach alle Mails über einen relay rausjagen.
Dann liegt das wohl einfach daran, dass du kein "richtiges" Relay benutzt, sondern den SMTP eines der Mailprovider (auch wenn das technisch natürlich auch Relays sind).

verwendet man zum Absenden von Mails einen vollwertigen MTA oder einen SMTP-Forwarder (z.B. ssmtp).
Beide kann man so konfigurieren, dass je nach From ein anderer Mailhub genommen wird. Wie üblich lässt sich der ssmtp auch hier deutlich leichter konfigurieren als sendmail.

Schau mal in "man ssmtp" nach "revaliases".
 
#6
Jaja, wenn "man" etwas schreibt, soll "man" es auch richtig machen.
Die Frage des OP war:
Ich habe 4 Mailadressen bei verschiedenen ... Mails müssten jetzt je nach verwendeter From-Adresse über unterschiedliche relay hosts versandt werden.
... verbindet man einfach jede Mailadresse mit einem anderen SMTP-Server und
fertig. <...>
Aber bei mutt oder alpine müsste ein nachgelagertes Programm den relay
host wählen.
Diese soll beantwortet werden. :)
Alle oben beschriebenen --MACROS-- in Mutt werden, unabhängig von wo aus eine
Mail gesendet wird, den 'From:...' Mailheader wunschgemäß setzen. Das macht dann
Sinn, wenn man einen mittels welchem 'hook' auch immer gesetzten Mailheader
ändern will. Oder mit anderen Worten, Standard oder 'gehooktes' ''From:...' kann
mit allen Makros unmittelbar vor dem Erstellen der Mail,
sozusagen halbmanuell, geändert werden.

Für den Fall, dass alle Mails an sämtliche Adressen in eine einzige
Mailbox 'plumpsen', ist es im Sinne der ursprünglichen Frage wohl die simpelste
Lösung, das mit diesen oder ähnlichen Makros in Mutt zu bewerkstelligen. Wenn
allerdings mehrere Mailboxen vorhanden sind, lässt sich genau dieses
'halbmanuelle' setzen der Header, wie oben beschrieben, automatisieren (und dennoch
noch mit den Makros ändern).

Dem SMTP-Client, Msmtp, sind dabei nur die 'From:...' Header wichtig und egal,
ob die Mails von einem oder mehreren verschiedenen MUA's kommen wenn es den
jeweiligen Smarthost bestimmt.

@MrFixit :
...schliesslich will man nicht, bevor man auf Mails antwortet, den richtigen
Account auswaehlen.
Laesst sich alles prima mit reply-hooks und send-hooks automatisieren.
ist selbstverständlich im Sinne der Frage des OP absolut korrekt.

Schema des Ganzen:
Code:
     Mail von irgendwo
   an eine lokale Adresse 

  ------             -------
         \         /
            | | |
            | | |
   -------  v v v  --------
  |     < Procmail >       |--------------------------
  |     ordnet Empfang                                | 
  |________________________________________         _ |
                                             |  |  |
                                             |  |  |
                /   < M U T T >  \           |  |  |                                             
              --------------------------     |  |  |
             |account alpha (alpha@...)  |   |  |  | 
             |-------------------      < ----   |  |
             |mutt setzt 'From:...'      |      |  |
             | from: alpha@...          |       |  | 
             |via folder-hook           |       |  |
 ----------- <                          |       |  |
|             --------------------------        |  |
|                                               |  |
|                /   < M U T T >  \             |  |
|              --------------------------       |  |
|             |account beta (beta@...)    |     |  | 
|             |-------------------      < ------   |
|             |mutt setzt 'From:...'      |        |
|             |from: beta@...            |         | 
|             |via folder-hook           |         |
|    -------- <                          |         |
|   |          --------------------------          |
|   |                                              | 
|   |             /   < M U T T >  \               |
|   |           --------------------------         |
|   |          |account gamma (gamma@...) |        | 
|   |          |-------------------      < -------- 
|   |          |  ...                     | 
|   |   ------ <                          |      
|   |  |        --------------------------        
|   |  |
|   |  |                    / < MSMTP > \
|   |  |          --------------------------------
|   |  |         |     msmtp ordnet zu:           |
|   |    --------> from:gamma@... geht zu smtp.z... --------------          
|    ------------> from:beta@...  geht zu smtp.y... -----------    |
 ----------------> from:alpha@... geht zu smtp.x... -------    |   |     
                  ---------------------------------        |   |   |
                                                           |   |   |
                  ----------------------------------------     |   |
                 |              ------------------------------     |
                 |             |                --------------------
                 |             |               |
          |smtp.x...|    |smtp.y....|     |smtp.z....| 
              /                |               \
 

hippodriver

Well-Known Member
Themenstarter #7
Danke soweit. msmtp funktioniert jetzt wunderbar. Es wählt nur anhand des From-Headers automatisch den richtigen SMTP-Server aus. Ich rufe es/ihn/sie aus alpine heraus mit "/usr/local/bin/msmtp --read-envelope-from -t" auf. Das ist wichtig, weil alpine keine unterschiedlichen sendmail-path optionen pro Account unterstützt, weshalb ich nicht mit "account=..." arbeiten kann.

Jetzt richte ich noch 4 Accounts in alpine ein, dann ist der Absende-part abgeschlossen. Danach geht's an fetchmail und procmail.

Sobald ich fertig bin, poste ich hier sämtliche config files für die Nachwelt, ohne Passwörter natürlich.

Auf ans Werk.
 

hippodriver

Well-Known Member
Themenstarter #8
Statt fetchmail benutzte ich jetzt getmail. Die Konfiguration ist aufgesplittet in eine Datei pro POP3 Account. Getmail holt die Mails nur vom POP3 Server und übergibt sie an procmail. Da alle Account gleich angesprochen werden, poste ich nur eine config file:

Code:
[mickraus@gandalf ~]\$ cat .getmail/gmxnetrc 
[retriever]
type = SimplePOP3SSLRetriever  
server = pop.gmx.net
username = alpha@gmx.net 
password = abcdef

[destination]
type = MDA_external
path = /usr/local/bin/procmail
unixfrom = true

[options]
read_all = false
delete = false
message_log = ~/.getmail/log
Mit procmail jage ich zunächst alles durch bogofilter. Den Rest filtere ich nach Mailinglisten. Meine Mail folder sind alle im maildir Format:
Code:
[mickraus@gandalf ~]\$ cat .procmailrc 
SHELL=/bin/sh

PMDIR=$HOME/Procmail

LOGFILE=$PMDIR/pmlog
  
MAILDIR=$HOME/mail
  
#Send mail through bogofilter
:0fw
| /usr/local/bin/bogofilter -uep

#Put mail bogofilter deems as spam in spam folder
:0
* ^X-Bogosity: Spam, tests=bogofilter
spam/
  
INCLUDERC=$PMDIR/rc.subscriptions
Code:
[mickraus@gandalf ~]\$ cat Procmail/rc.subscriptions 
:0
* ^TO_freebsd-questions@freebsd.org
FreeBSD/FreeBSD-questions/

:0
* ^TO_stable@freebsd.org
FreeBSD/FreeBSD-stable/

:0
* ^TO_freebsd-stable@freebsd.org
FreeBSD/FreeBSD-stable

:0
* ^TO_TEX-D-L@LISTSERV.DFN.DE
tex/

:0
* ^TO_tex-live@tug.org
tex/

:0
* ^TO_ntg-context@ntg.nl
context/

:0
* ^TO_caml-list@inria.fr
OCaml/

:0
* ^TO_pyqt@riverbankcomputing.com
python/

:0
* ^TO_freebsd-hackers@freebsd.org
FreeBSD/FreeBSD-hackers/

:0
* ^TO_freebsd-amd64@freebsd.org
FreeBSD/FreeBSD-amd64/

:0
* ^TO_kernel@crater.dragonflybsd.org
dragonfly/

:0
* ^TO_arch-general@archlinux.org
arch/

:0
* ^TO_aur-general@archlinux.org
arch/

:0
* ^TO_godi-list@ocaml-programming.de
OCaml/
Das war der Empfangsteil. Den Sendeteil poste ich morgen, sobald ich alpine fertig konfiguriert habe.
 

hippodriver

Well-Known Member
Themenstarter #9
Und hier, wie versprochen, der zweite Teil. In den Hauptrollen: msmtp und alpine.

Die config file von msmtp sieht aus wie von metro vorgeschlagen:

Code:
[mickraus@gandalf ~]\$ cat .msmtprc
account privat
tls on
tls_trust_file /usr/local/share/certs/ca-root-nss.crt
host mail.gmx.net
from alpha@gmx.de
auth on
user "alpha@gmx.de"
password  abcdef
port 587

account coding
tls on
tls_trust_file /usr/local/share/certs/ca-root-nss.crt
host mail.gmx.net
from hippodriver@gmx.net
auth on
user "hippodriver@gmx.net"
password abcdef
port 587

account hacking
tls on
tls_trust_file /usr/local/share/certs/ca-root-nss.crt
host smtp.googlemail.com
from beta@googlemail.com
auth on
user "beta@googlemail.com"
password abcdef
port 587

account uni
tls on
tls_trust_file /usr/local/share/certs/ca-root-nss.crt
host smtp.uni-universalis.de
from gamma@uni-universalis.de
auth on
user "gamma"
password abcdef
port 587%
Pine ist so konfiguriert, daß bei einem reply automatisch eine passende Mailadresse vorgeschlagen wird. Außerdem habe ein gescheites Threading für die Mailfolder aktiviert.

Code:
[mickraus@gandalf ~]\$ cat .pinerc 
#
# Alpine configuration file
#
# This file sets the configuration options used by Alpine and PC-Alpine. These
# options are usually set from within Alpine or PC-Alpine. There may be a
# system-wide configuration file which sets the defaults for some of the
# variables. On Unix, run alpine -conf to see how system defaults have been set.
# For variables that accept multiple values, list elements are separated by
# commas. A line beginning with a space or tab is considered to be a
# continuation of the previous line. For a variable to be unset its value must
# be blank. To set a variable to the empty string its value should be "".
# You can override system defaults by setting a variable to the empty string.
# Lines beginning with "#" are comments, and ignored by Alpine.

# Over-rides your full name from Unix password file. Required for PC-Alpine.
personal-name=

# Sets domain part of From: and local addresses in outgoing mail.
user-domain=

# List of SMTP servers for sending mail. If blank: Unix Alpine uses sendmail.
smtp-server=

# NNTP server for posting news. Also sets news-collections for news reading.
nntp-server=

# Path of (local or remote) INBOX, e.g. ={mail.somewhere.edu}inbox
# Normal Unix default is the local INBOX (usually /usr/spool/mail/$USER).
inbox-path=

# List of folder pairs; the first indicates a folder to archive, and the
# second indicates the folder read messages in the first should
# be moved to.
incoming-archive-folders=

# List of folders, assumed to be in first folder collection,
# offered for pruning each month.  For example: mumble
pruned-folders=

# Over-rides default path for sent-mail folder, e.g. =old-mail (using first
# folder collection dir) or ={host2}sent-mail or ="" (to suppress saving).
# Default: sent-mail (Unix) or SENTMAIL.MTX (PC) in default folder collection.
default-fcc=

# Over-rides default path for saved-msg folder, e.g. =saved-messages (using 1st
# folder collection dir) or ={host2}saved-mail or ="" (to suppress saving).
# Default: saved-messages (Unix) or SAVEMAIL.MTX (PC) in default collection.
default-saved-msg-folder=

# Over-rides default path for postponed messages folder, e.g. =pm (which uses
# first folder collection dir) or ={host4}pm (using home dir on host4).
# Default: postponed-msgs (Unix) or POSTPOND.MTX (PC) in default fldr coltn.
postponed-folder=

# If set, specifies where already-read messages will be moved upon quitting.
read-message-folder=

# If set, specifies where form letters should be stored.
form-letter-folder=

# If set, specifies where trash is moved to in Web Alpine.
trash-folder=

# Contains the actual signature contents as opposed to the signature filename.
# If defined, this overrides the signature-file. Default is undefined.
literal-signature=

# Over-rides default path for signature file. Default is ~/.signature
signature-file=

# List of features; see Alpine's Setup/options menu for the current set.
# e.g. feature-list= select-without-confirm, signature-at-bottom
# Default condition for all of the features is no-.
feature-list=enable-aggregate-command-set

# Alpine executes these keys upon startup (e.g. to view msg 13: i,j,1,3,CR,v)
initial-keystroke-list=

# Only show these headers (by default) when composing messages
default-composer-hdrs=

# Add these customized headers (and possible default values) when composing
customized-hdrs=From: Michael Krauss <hippodriver@gmx.net>

# When viewing messages, include this list of headers
viewer-hdrs=

# When viewing messages, number of blank spaces between left display edge and text
viewer-margin-left=

# When viewing messages, number of blank spaces between right display edge and text
viewer-margin-right=

# When viewing messages, number of lines of quote displayed before suppressing
quote-suppression-threshold=

# Determines default folder name for Saves...
# Choices: default-folder, by-sender, by-from, by-recipient, last-folder-used.
# Default: "default-folder", i.e. "saved-messages" (Unix) or "SAVEMAIL" (PC).
saved-msg-name-rule=

# Determines default name for Fcc...
# Choices: default-fcc, by-recipient, last-fcc-used.
# Default: "default-fcc" (see also "default-fcc=" variable.)
fcc-name-rule=

# Sets presentation order of messages in Index. Choices:
# Subject, From, Arrival, Date, Size, To, Cc, OrderedSubj, Score, and Thread.
# Order may be reversed by appending /Reverse. Default: "Arrival".
sort-key=tHread

# #Sets presentation order of threads in thread index. Choices:
#arrival, and thread.
thread-sort-key=

# Sets presentation order of address book entries. Choices: dont-sort,
# fullname-with-lists-last, fullname, nickname-with-lists-last, nickname
# Default: "fullname-with-lists-last".
addrbook-sort-rule=

# Sets presentation order of folder list entries. Choices: alphabetical,
# alpha-with-dirs-last, alpha-with-dirs-first.
# Default: "alpha-with-directories-last".
folder-sort-rule=

# Sets the default folder and collection offered at the Goto Command's prompt.
goto-default-rule=

# Sets message which cursor begins on. Choices: first-unseen, first-recent,
# first-important, first-important-or-unseen, first-important-or-recent,
# first, last. Default: "first-unseen".
incoming-startup-rule=

# Allows a default answer for the prune folder questions. Choices: yes-ask,
# yes-no, no-ask, no-no, ask-ask, ask-no. Default: "ask-ask".
pruning-rule=

# Controls behavior when reopening an already open folder.
folder-reopen-rule=

# Style that MESSAGE INDEX is displayed in when threading.
threading-display-style=struct-from

# Style of THREAD INDEX or default MESSAGE INDEX when threading.
threading-index-style=coll

# When threading, character used to indicate collapsed messages underneath.
threading-indicator-character=

# When threading, character used to indicate expanded messages underneath.
threading-expanded-character=

# When threading, character used to indicate this is the last reply
# to the parent of this message.
threading-lastreply-character=

# Allows a user to specify the threading style of specific folders
threading-display-style-rule=

# Allows a user to specify the threading index style of specific folders
threading-index-style-rule=

# Allows a user to set rules when composing messages.
compose-rules=

# Allows a user to set rules when forwarding messages.
forward-rules=

# Allows a user to supersede global index format variable in designated folders.
index-rules=

# Allows a user to override keystrokes in certain screens.
key-definition-rules=

# Allows a user to change the form a specify field in the index-format is 
# displayed.
replace-rules=

# Allows a user to change the form a specify a reply-indent-string
# based of rules.
reply-indent-rules=

# Allows a user to replace the reply-leadin message based on different parameters.
reply-leadin-rules=

# Allows a user to replace the subject of a message in a customs based way
reply-subject-rules=

# Allows a user to specify a save folder message for specific senders or folders.
save-rules=

# Allows a user to specify a smtp server to be used when sending e-mail,
# according to the rules specified here.
smtp-rules=

# Allows a user to specify the sort default order of a specific folder.
sort-rules=

# Allows a user to specify the position of a highlighted message when opening a 
# folder.
startup-rules=

# Reflects capabilities of the display you have.
# If unset, the default is taken from your locale. That is usually the right
# thing to use. Typical alternatives include UTF-8, ISO-8859-x, and EUC-JP
# (where x is a number between 1 and 9).
display-character-set=ISO-8859-1

# Reflects capabilities of the keyboard you have.
# If unset, the default is to use the same value
# used for the display-character-set.
keyboard-character-set=ISO-8859-1

# Defaults to UTF-8. This is used for outgoing messages.
# It is usually correct to leave this unset.
posting-character-set=

# Defaults to nothing, which is equivalent to US-ASCII. This is used for
# unlabeled incoming messages. It is ok to leave this unset but if you receive
# unlabeled mail that is usually in some known character set, set that here.
unknown-character-set=

# Specifies the program invoked by ^_ in the Composer,
# or the "enable-alternate-editor-implicitly" feature.
editor=

# Specifies the program invoked by ^T in the Composer.
speller=

# Specifies the column of the screen where the composer should wrap.
composer-wrap-column=

# Specifies a comma separated list of text and regular expresions that Pine
# will highlight
special-text-color=

# Specifies the string to insert when replying to a message.
reply-indent-string=

# Specifies the introduction to insert when replying to a message.
reply-leadin=

# Specifies the string to replace quotes with when viewing a message.
quote-replace-string=

# When these characters appear in the middle of a word in the composer
# the forward word function will stop at the first text following (as happens
# with SPACE characters by default)
composer-word-separators=

# Specifies the string to use when sending a  message with no to or cc.
empty-header-message=

# Program to view images (e.g. GIF or TIFF attachments).
image-viewer=

# If "user-domain" not set, strips hostname in FROM address. (Unix only)
use-only-domain-name=

# This variable takes a list of programs that message text is piped into
# after MIME decoding, prior to display.
display-filters=

# This defines a program that message text is piped into before MIME
# encoding, prior to sending
sending-filters=

# A list of alternate addresses the user is known by
alt-addresses=

# A list of keywords for use in categorizing messages
keywords=

# Characters which surround keywords in SUBJKEY token.
# Default is "{" "} "
keyword-surrounding-chars=

# Characters between subject and opening text in SUBJECTTEXT token.
# Default is " - "
opening-text-separator-chars=

# This is a list of formats for address books.  Each entry in the list is made
# up of space-delimited tokens telling which fields are displayed and in
# which order.  See help text
addressbook-formats=

# This gives a format for displaying the index.  It is made
# up of space-delimited tokens telling which fields are displayed and in
# which order.  See help text
index-format=

# The number of lines of overlap when scrolling through message text
viewer-overlap=

# Number of lines from top and bottom of screen where single
# line scrolling occurs.
scroll-margin=

# The number of seconds to sleep after writing a status message
status-message-delay=

# Number of times per-second to update busy cue messages
busy-cue-rate=

# The approximate number of seconds between checks for new mail
mail-check-interval=

# The approximate number of seconds between checks for new mail in folders
# other than the current folder and inbox.
# Default is same as mail-check-interval
mail-check-interval-noncurrent=

# The minimum number of seconds between checks for new mail in a Mail Drop.
# This is always effectively at least as large as the mail-check-interval
maildrop-check-minimum=

# For newsgroups accessed using NNTP, only messages numbered in the range
# lastmsg-range+1 to lastmsg will be considered
nntp-range=

# Full path and name of NEWSRC file
newsrc-path=

# Path and filename of news configuration's active file.
# The default is typically "/usr/lib/news/active".
news-active-file-path=

# Directory containing system's news data.
# The default is typically "/usr/spool/news"
news-spool-directory=

# Location relative to your HOME directory of the directory where your INBOX
# for the maildir format is located. Default value is "Maildir". If your
# inbox is located at "~/Maildir" you do not need to change this value.
# A common value is also ".maildir"
maildir-location="mail"

# Path and filename of the program used to upload text from your terminal
# emulator's into Alpine's composer.
upload-command=

# Text sent to terminal emulator prior to invoking the program defined by
# the upload-command variable.
# Note: _FILE_ will be replaced with the temporary file used in the upload.
upload-command-prefix=

# Path and filename of the program used to download text via your terminal
# emulator from Alpine's export and save commands.
download-command=

# Text sent to terminal emulator prior to invoking the program defined by
# the download-command variable.
# Note: _FILE_ will be replaced with the temporary file used in the download.
download-command-prefix=

# Sets the search path for the mailcap configuration file.
# NOTE: colon delimited under UNIX, semi-colon delimited under DOS/Windows/OS2.
mailcap-search-path=

# Sets the search path for the mimetypes configuration file.
# NOTE: colon delimited under UNIX, semi-colon delimited under DOS/Windows/OS2.
mimetype-search-path=

# List of programs to open Internet URLs (e.g. http or ftp references).
url-viewers=

# The maximum number of non-stayopen remote connections that Alpine will use
max-remote-connections=

# A list of folders that should be left open once opened (INBOX is implicit)
stay-open-folders=

# Sets the time in seconds that Alpine will attempt to open a network
# connection when checking for new unseen messages in an incoming folder.
#  The default is 5.
incoming-check-timeout=

# Sets the approximate number of seconds between checks for unseen messages
# in incoming folders. The default is 180.
incoming-check-interval=

# Sets the approximate number of seconds between checks for unseen messages
# for other than local or IMAP folders. The default is 180.
incoming-check-interval-secondary=

# List of incoming folders to check for unseen messages. The default if left
# blank is to check all incoming folders.
incoming-check-list=

# Specifies the number of dead letter files to keep when canceling.
dead-letter-files=

# Sets the filename for the newmail fifo (named pipe). Unix only.
newmail-fifo-path=

# Sets the width for the NewMail screen.
newmail-window-width=

# List of incoming msg folders besides INBOX, e.g. ={host2}inbox, {host3}inbox
# Syntax: optnl-label {optnl-imap-host-name}folder-path
incoming-folders=

# List of directories where saved-message folders may be. First one is
# the default for Saves. Example: Main {host1}mail/[], Desktop mail\[]
# Syntax: optnl-label {optnl-imap-hostname}optnl-directory-path[]
folder-collections=

# List, only needed if nntp-server not set, or news is on a different host
# than used for NNTP posting. Examples: News *[] or News *{host3/nntp}[]
# Syntax: optnl-label *{news-host/protocol}[]
news-collections=

# List of file or path names for personal addressbook(s).
# Default: ~/.addressbook (Unix) or \PINE\ADDRBOOK (PC)
# Syntax: optnl-label path-name
address-book=

# List of file or path names for global/shared addressbook(s).
# Default: none
# Syntax: optnl-label path-name
global-address-book=

# Set by Alpine; controls beginning-of-month sent-mail pruning.
last-time-prune-questioned=109.3

# Set by Alpine; controls display of "new version" message.
last-version-used=6.00

# This names the path to an alternative program, and any necessary arguments,
# to be used in posting mail messages.  Example:
#                    /usr/lib/sendmail -oem -t -oi
# or,
#                    /usr/local/bin/sendit.sh
# The latter a script found in Alpine distribution's contrib/util directory.
# NOTE: The program MUST read the message to be posted on standard input,
#       AND operate in the style of sendmail's "-t" option.
sendmail-path="/usr/local/bin/msmtp --read-envelope-from -t"

# This names the root of the tree to which the user is restricted when reading
# and writing folders and files.  For example, on Unix ~/work confines the
# user to the subtree beginning with their work subdirectory.
# (Note: this alone is not sufficient for preventing access.  You will also
# need to restrict shell access and so on, see Alpine Technical Notes.)
# Default: not set (so no restriction)
operating-dir=

# If no user input for this many hours, Alpine will exit if in an idle loop
# waiting for a new command.  If set to zero (the default), then there will
# be no timeout.
user-input-timeout=

# Sets the time in seconds that Alpine will attempt to open a network
# connection.  The default is 30, the minimum is 5, and the maximum is
# system defined (typically 75).
tcp-open-timeout=

# Network read warning timeout. The default is 15, the minimum is 5, and the
# maximum is 1000.
tcp-read-warning-timeout=

# Network write warning timeout. The default is 0 (unset), the minimum
# is 5 (if not 0), and the maximum is 1000.
tcp-write-warning-timeout=

# If this much time has elapsed at the time of a tcp read or write
# timeout, Alpine will ask if you want to break the connection.
# Default is 60 seconds, minimum is 5, maximum is 1000.
tcp-query-timeout=

# Sets the format of the command used to open a UNIX remote
# shell connection.  The default is "%s %s -l %s exec /etc/r%sd"
# NOTE: the 4 (four) "%s" entries MUST exist in the provided command
# where the first is for the command's path, the second is for the
# host to connect to, the third is for the user to connect as, and the
# fourth is for the connection method (typically "imap")
rsh-command=

# Sets the name of the command used to open a UNIX remote shell connection.
# The default is typically /usr/ucb/rsh.
rsh-path=

# Sets the time in seconds that Alpine will attempt to open a UNIX remote
# shell connection.  The default is 15, min is 5, and max is unlimited.
# Zero disables rsh altogether.
rsh-open-timeout=

# Sets the format of the command used to open a UNIX secure
# shell connection.  The default is "%s %s -l %s exec /etc/r%sd"
# NOTE: the 4 (four) "%s" entries MUST exist in the provided command
# where the first is for the command's path, the second is for the
# host to connect to, the third is for the user to connect as, and the
# fourth is for the connection method (typically "imap")
ssh-command=

# Sets the name of the command used to open a UNIX secure shell connection.
# Typically this is /usr/bin/ssh.
ssh-path=

# Sets the time in seconds that Alpine will attempt to open a UNIX secure
# shell connection.  The default is 15, min is 5, and max is unlimited.
# Zero disables ssh altogether.
ssh-open-timeout=

# Sets the version number Alpine will use as a threshold for offering
# its new version message on startup.
new-version-threshold=

# List of mail drivers to disable.
disable-these-drivers=

# List of SASL authenticators to disable.
disable-these-authenticators=

# Set by Alpine; contains data for caching remote address books.
remote-abook-metafile=

# How many extra copies of remote address book should be kept. Default: 3
remote-abook-history=

# Minimum number of minutes between checks for remote address book changes.
# 0 means never check except when opening a remote address book.
# -1 means never check. Default: 5
remote-abook-validity=

# Your default printer selection
printer=

# List of special print commands
personal-print-command=

# Which category default print command is in
personal-print-category=

# Patterns and their actions are stored here.
patterns-roles=LIT:pattern="/NICK=coding/COMM=for all open source stuff\\n\\n/RECIP=hippodriver@gmx.net/PARTIC=hippodriver@gmx.net,freebsd.org,tex-live,inria,pyqt,dragonfly,archlinux,godi-list/FLDTYPE=EMAIL" action="/ROLE=1/FROM=Michael Krauss <hippodriver@gmx.net>/RTYPE=YES/FTYPE=YES/CTYPE=YES",
	LIT:pattern="/NICK=hacking/PARTIC=beta@googlemail.com/FLDTYPE=EMAIL" action="/ROLE=1/FROM=beta@googlemail.com/RTYPE=YES/FTYPE=YES/CTYPE=NO",
	LIT:pattern="/NICK=uni/PARTIC=gamma@uni-universalis.de/FLDTYPE=EMAIL" action="/ROLE=1/FROM=Michael Krauss <gamma@.uni-universalis.de>/RTYPE=YES/FTYPE=YES/CTYPE=NO",
	LIT:pattern="/NICK=private/COMM=For private issues\\n\\n/FLDTYPE=EMAIL" action="/ROLE=1/FROM=Michael Krauss <alpha@gmx.de>/RTYPE=YES/FTYPE=YES/CTYPE=YES"

# Patterns and their actions are stored here.
patterns-filters2=

# Patterns and their actions are stored here.
patterns-scores2=

# Patterns and their actions are stored here.
patterns-indexcolors=

# Patterns and their actions are stored here.
patterns-other=

# Patterns and their actions are stored here.
patterns-search=

# Controls display of color
color-style=

# Controls display of color for current index line
current-indexline-style=

# Controls display of color for the titlebar at top of screen
titlebar-color-style=

# Choose: black, blue, green, cyan, red, magenta, yellow, or white.
normal-foreground-color=
normal-background-color=
reverse-foreground-color=
reverse-background-color=
title-foreground-color=
title-background-color=
title-closed-foreground-color=
title-closed-background-color=
status-foreground-color=
status-background-color=
keylabel-foreground-color=
keylabel-background-color=
keyname-foreground-color=
keyname-background-color=
selectable-item-foreground-color=
selectable-item-background-color=
meta-message-foreground-color=
meta-message-background-color=
quote1-foreground-color=
quote1-background-color=
quote2-foreground-color=
quote2-background-color=
quote3-foreground-color=
quote3-background-color=
incoming-unseen-foreground-color=
incoming-unseen-background-color=
signature-foreground-color=
signature-background-color=
special-text-foreground-color=
special-text-background-color=
prompt-foreground-color=
prompt-background-color=
header-general-foreground-color=
header-general-background-color=
index-to-me-foreground-color=
index-to-me-background-color=
index-important-foreground-color=
index-important-background-color=
index-deleted-foreground-color=
index-deleted-background-color=
index-answered-foreground-color=
index-answered-background-color=
index-new-foreground-color=
index-new-background-color=
index-recent-foreground-color=
index-recent-background-color=
index-forward-foreground-color=
index-forward-background-color=
index-unseen-foreground-color=
index-unseen-background-color=
index-highpriority-foreground-color=
index-highpriority-background-color=
index-lowpriority-foreground-color=
index-lowpriority-background-color=
index-arrow-foreground-color=
index-arrow-background-color=
index-subject-foreground-color=
index-subject-background-color=
index-from-foreground-color=
index-from-background-color=
index-opening-foreground-color=
index-opening-background-color=

# When viewing messages, these are the header colors
viewer-hdr-colors=

# Colors used to display keywords in the index
keyword-colors=

# Public certificates are kept in files in this directory. The files should
# contain certificates in PEM format. The name of each file should look
# like <emailaddress>.crt. The default directory is .alpine-smime/public.
smime-public-cert-directory=

# If this option is set then public certificates are kept in a single container
# "file" similar to a remote configuration file instead of in the
# smime-publiccert-directory. The value can be a remote or local folder
# specification like for a non-standard pinerc value. The default
# is that it is not set.
smime-public-cert-container=

# Private keys are kept in files in this directory. The files are in PEM format.
# The name of a file should look like <emailaddress>.key.
# The default directory is .alpine-smime/private.
smime-private-key-directory=

# If this option is set then private keys are kept in a single container
# "file" similar to a remote configuration file instead of in the
# private-key-directory. The value can be a remote or local folder
# specification like for a non-standard pinerc value. The default
# is that it is not set.
smime-private-key-container=

# Certificate Authority certificates (in addition to the normal CACerts for the
# system) are kept in files in this directory. The files are in PEM format.
# Filenames should end with .crt. The default directory is .alpine-smime/ca.
smime-cacert-directory=

# If this option is set then CAcerts are kept in a single container
# "file" similar to a remote configuration file instead of in the
# ca-cert-directory. The value can be a remote or local folder
# specification like for a non-standard pinerc value. The default
# is that it is not set.
smime-cacert-container=

# LDAP servers for looking up addresses.
ldap-servers=

# RSS News feed
rss-news=

# RSS Weather feed
rss-weather=

# Web Alpine index table row height
wp-indexheight=

# Web Alpine number of index lines in table
wp-indexlines=

# Web Alpine aggregate operations tab state
wp-aggstate=

# Web Alpine various aspects of cross-session state
wp-state=

# Web Alpine preferred width for message display in characters
wp-columns=
Das war's vorerst. Die Konfigurationsmenüs von alpine sind unergründlich.