uucpmail.de
Erste Schritte
Von null zu funktionierender UUCP-Mail auf einem Linux-System in etwa 30 Minuten. Alles hier Gezeigte ist das Standard-Taylor-UUCP aus den Distributions-Paketen – keine Spezialsoftware nötig.
Lieber ohne Taylor UUCP starten? Der native uucpmail-Client (Linux/Windows/macOS, Open Source) bringt UUCP-over-SSH, Schlüsselerzeugung und OpenPGP in einer Binärdatei mit. Diese Anleitung beschreibt den klassischen Weg mit Taylor UUCP und Postfix – beide führen zum selben Zugang.
0. Was du brauchst
# Debian / Ubuntu sudo apt install uucp openssh-client # Fedora sudo dnf install uucp openssh-clients
Dazu einen Beta-Zugang: SSH-Key erzeugen und den Public
Key an beta@uucpmail.de
schicken. Du bekommst deinen Nodenamen (z. B.
u7a2f4c) und deine Adresse zurück. Optional kannst du eine
Wunschadresse nennen (den Localpart vor dem
@, z. B. anna → anna@uucpmail.de):
Kleinbuchstaben, Ziffern und . _ + = -, beginnend mit
Buchstabe/Ziffer; in der Beta erfüllen wir sie nach Verfügbarkeit
(Rollenadressen ausgenommen), sonst teilen wir eine zu.
ssh-keygen -t ed25519 -N '' -f ~/.ssh/uucpmail -C uucpmail cat ~/.ssh/uucpmail.pub # diese Zeile mitschicken
In den Beispielen unten stehen u7a2f4c für deinen
Nodenamen und du für den Localpart deiner Adresse –
ersetze beide.
1. UUCP konfigurieren
Drei kleine Dateien unter /etc/uucp/ (als root):
/etc/uucp/config
nodename u7a2f4c
/etc/uucp/sys
system uucpsrv time any port ssh # SSH authentifiziert bereits – keinen Login-Chat versuchen: chat "" protocol t commands rmail # Mailzustellung braucht receive-request true (Default ist false!) receive-request true send-request false command-path /usr/local/bin /usr/bin /bin pubdir /var/spool/uucppublic
/etc/uucp/port
port ssh type pipe reliable true command /usr/bin/ssh -q -x -a -T -i /etc/uucp/ssh/id_ed25519 -o UserKnownHostsFile=/var/spool/uucp/.ssh/known_hosts -o StrictHostKeyChecking=accept-new uucp@uucp.uucpmail.de
Key dorthin legen, wo der User uucp ihn lesen kann:
sudo mkdir -p /etc/uucp/ssh /var/spool/uucp/.ssh sudo install -m 600 -o uucp ~/.ssh/uucpmail /etc/uucp/ssh/id_ed25519 sudo chown -R uucp:uucp /var/spool/uucp
Erster Verbindungstest (holt auch gleich wartende Mail ab):
sudo -u uucp /usr/sbin/uucico -S uucpsrv sudo tail /var/log/uucp/Log # "Handshake successful" = alles gut
2a. Minimal-Variante: ohne eigenen Mailserver
Eingehende Mail liefert der Server als rmail-Aufruf aus.
Ohne MTA genügt ein Dreizeiler, der alles in eine mbox-Datei legt:
sudo tee /usr/local/bin/rmail <<'EOF' #!/bin/sh cat >> /var/spool/uucppublic/inbox.mbox EOF sudo chmod 755 /usr/local/bin/rmail
Lesen mit mutt -f /var/spool/uucppublic/inbox.mbox.
Senden geht direkt per uux – wichtig ist die erste
Zeile (From du@uucpmail.de, ohne Doppelpunkt!), sie ist
der Envelope-Absender:
printf 'From du@uucpmail.de\nFrom: du@uucpmail.de\nTo: ziel@example.com\nSubject: Hallo\n\nGruesse via UUCP!\n' \ | uux -r - 'uucpsrv!rmail' 'ziel@example.com' sudo -u uucp /usr/sbin/uucico -S uucpsrv
2b. Komfort-Variante: Postfix als lokaler MTA (empfohlen)
Damit funktionieren mutt, mail und jedes
Programm, das sendmail spricht, ganz normal – Postfix
schiebt alles Nicht-Lokale in den UUCP-Spool. Bei der
Paketinstallation als Konfigurationstyp „Lokal" wählen, dann:
sudo postconf -e \ myhostname=u7a2f4c.uucpmail.de \ mydomain=uucpmail.de \ myorigin=uucpmail.de \ mydestination="localhost, \$myhostname" \ inet_interfaces=loopback-only \ default_transport=uucp:uucpsrv # UUCP-Transport in der master.cf anlegen: sudo postconf -M 'uucp/unix=uucp unix - n n - - pipe flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - uucpsrv!rmail ($recipient)'
Eingehende UUCP-Mail soll Postfix lokal zustellen – dafür ein
rmail-Wrapper (Zustellung an localpart@localhost,
sonst entstünde eine Transportschleife):
sudo tee /usr/local/bin/rmail <<'EOF'
#!/bin/sh
rcpt="${1:?rmail: Empfaenger fehlt}"
exec /usr/sbin/sendmail -i "${rcpt%%@*}@localhost"
EOF
sudo chmod 755 /usr/local/bin/rmail
Aliases für Rollenadressen (falls z. B. postmaster@
auf deinen Node zeigt) und neu laden:
echo 'postmaster: du@localhost' | sudo tee -a /etc/aliases sudo newaliases && sudo systemctl reload postfix
Fertig: mutt (From-Adresse in ~/.muttrc:
set from="du@uucpmail.de", set use_from=yes,
set envelope_from=yes) oder
mail -s "Test" ziel@example.com schreiben – gesendet
und empfangen wird beim nächsten Poll.
3. Regelmäßig abholen
# alle 15 Minuten – der Takt gehört dir: echo '*/15 * * * * uucp /usr/sbin/uucico -S uucpsrv' | sudo tee /etc/cron.d/uucpmail
Eine UUCP-Session überträgt immer beides: Deine gequeuten Mails gehen raus, wartende kommen rein. Einmal täglich ist genauso legitim wie alle fünf Minuten – das ist der Punkt von UUCP.
Fehlersuche
| Symptom | Lösung |
|---|---|
Permission denied (publickey) |
Key beim Betreiber registriert? Richtiger Key unter /etc/uucp/ssh? |
Handshake failed (You are unknown to me) |
Nodename in /etc/uucp/config prüfen – muss exakt der zugeteilte sein |
Timed out in chat script |
chat "" in /etc/uucp/sys fehlt |
System already locked |
Es läuft noch ein uucico (z. B. aus cron) – kurz warten |
| Versand wird abgelehnt (553) | Envelope-Absender muss eine deiner registrierten @uucpmail.de-Adressen sein |
| Debug-Ansicht | sudo -u uucp /usr/sbin/uucico -S uucpsrv -D -x chat,handshake und /var/log/uucp/Log bzw. /var/log/uucp/Debug |
Es gelten die Free-Tier-Limits und die Beta-Bedingungen. Fragen und Probleme: beta@uucpmail.de – gern auch per UUCP-Mail, sobald dein Setup steht.