Informationen zur Mailkonfiguration für Systemadministratoren
Bei Betreibern von eigenenen Servern an der TU besteht oft der Wunsch, von diesen auch Mails verschicken zu können. Für das Versenden von persönlichen Mails können dazu die gängigen Mailprogramme wie Thunderbird, Apple Mail, Outlook usw. verwendet werden. Für das Versenden von Systemmails per sendmail, postfix, etc. dagegen sind einige Dinge zu beachten.SMTP-Port Sperre
Der SMTP-Port (TCP 25) ist seit dem 14.4.03 von und zum Internet an der TU gesperrt. Hintergrund ist, dass der unkontrollierte Empfang und Versand von Viren und Werbemails durch möglicherweise durch Malware befallene Rechner an der TU eingeschränkt werden soll. Dies hat folgende Auswirkungen:Für den Mailversand:
- Versand nur über mail.tu-harburg.de
Typischerweise muß dazu im Mailprogramm ein smart- oder relayhost konfiguriert werden. - envelope-from muss richtig konfiguriert sein
Bitte Konfigurieren Sie den envelope-from so, dass dort eine Adresse steht, an die Fehlermeldungen zurück geschickt werden können. Die envelope-from Adresse ist die, die im sendmail- oder postfix- Logfile auftaucht und im SMTP-Dialog für "MAIL FROM:" verwendet wird. Es ist nicht die Adresse, die in der From: Zeile steht. Sie wird von unserem Mailer bei der Zustellung in eine Return-Path: Zeile geschrieben.- Um per sendmail dafür zu sorgen, dass bei Emails von root als envelope-from "a.meyer@tu-harburg.de"
und bei Emails von daemon "b.mueller@tu-harburg.de" eingesetzt wird, füge man
folgendes in sendmail.mc hinzu und erzeuge ein neues sendmail.cf:
define(`SMART_HOST', `mail.tu-harburg.de')dnl FEATURE(`genericstable')dnl FEATURE(`masquerade_envelope')dnl GENERICS_DOMAIN(`$j')dnl
Datei /etc/mail/genericstable erzeugen:
root a.meyer@tu-harburg.de daemon b.mueller@tu-harburg.de
Hash-DB erzeugen:
# makemap hash genericstable<genericstable
- Und das Ganze in postfix:
In Datei /etc/postfix/main.cf:
relayhost = mail.tu-harburg.de canonical_classes = envelope_sender, header_sender canonical_maps = hash:/etc/postfix/canonical
In Datei /etc/postfix/canonical:
root a.meyer@tu-harburg.de daemon b.mueller@tu-harburg.de
Hash-DB erzeugen:
# postmap canonical
- Setzen des envelope-from in einem PHP-Script:
<?php require_once 'Mail.php'; require_once 'Mail/mime.php'; [...] $mail = Mail::factory('mail','-f envelope-from@tu-harburg.de'); $mail->send('envelope-to@tu-harburg.de', $header, $body); ?>
- Beispiel für ein shell-script:
#!/bin/bash # # Only 7-bit ASCII Characters are allowed in mail headers. # Make sure to follow RFC 2047 if fromname, toname or subject # contain non-ASCII characters! # Auto-Submitted: header prevents vacation replys. # from="nobody@tu-harburg.de" fromname="Nobody Knows"; to="joe.public@tu-harburg.de" toname="Joe Public"; subject="This is the subject" /usr/sbin/sendmail -Ac -B8BITMIME -i -f "$from" -- "$to" << EOF Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit MIME-Version: 1.0 Auto-Submitted: auto-generated Subject: $subject From: "$fromname" <$from> To: "$toname" <$to> Falsches Üben von Xylophonmusik quält jeden größeren Zwerg. EOF
- Um per sendmail dafür zu sorgen, dass bei Emails von root als envelope-from "a.meyer@tu-harburg.de"
und bei Emails von daemon "b.mueller@tu-harburg.de" eingesetzt wird, füge man
folgendes in sendmail.mc hinzu und erzeuge ein neues sendmail.cf:
- Keine Empfänger außerhalb der TU
Der unauthentifizierte Versand (d.h. ohne Angabe von Usernamen und Paßwort) von Mails ist auf Empfänger innerhalb der TU beschränkt. Einzelne Rechner können unter bestimmten Bedingungen auf Antrag von dieser Regel ausgenommen werden.