Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
centos:mailserver:nuetzliche_kommandos_rund_um_postfix [13.01.2011 21:15. ]
django Formatierung angepasst
centos:mailserver:nuetzliche_kommandos_rund_um_postfix [27.01.2011 09:05. ] (aktuell)
bigchief [postalias] Formatierung angepasst
Zeile 1: Zeile 1:
 +====== nützliche Kommandos rund um Postfix ======
 +{{:​centos:​mailserver:​postfix:​postfix-logo2.png|Postfix Logo}}
  
 +===== postconf =====
 +Zeigt alle Einstellungen der main.cf, die nicht den Defaultwerten entsprechen:​
 +   ​postconf -n
 +Zeigt den Defaultwert einer Variable an; ignoriert also den Wert aus der **//​main.cf//​**:​
 +   ​postconf -d myorigin
 +   ​myorigin = $myhostname
 +Die Abfrage von Variablen direkt aus unserem laufenden [[centos:​mailserver:​start|Postfix]] heraus erfolgt ohne Parameterangabe:​
 +   ​postconf myorigin
 +   ​myorigin = $mydomain
 +Wollen wir einen Parameter ändern, so benutzen wir die Option **-e**
 +<​code>​postconf -d smtpd_client_connection_count_limit
 +smtpd_client_connection_count_limit = 50
 +
 +postconf smtpd_client_connection_count_limit
 +smtpd_client_connection_count_limit = 10
 +
 +postconf -e "​smtpd_client_connection_count_limit = 15"
 +
 +postconf smtpd_client_connection_count_limit
 +smtpd_client_connection_count_limit = 15</​code>​
 +Anschließend muss via ** service postfix reload** der laufende Daemon noch von der Änderung an der **main.cf** informiert werden
 +
 +===== postqueue =====
 +Zeigt eine vollständige Übersicht aller eMails in den Warteschlangen
 +   # postqueue -p
 +
 +Alle eMails in der deferred-Queue werden sofort wieder zur Auslieferung gebracht
 +   # postqueue -f
 +===== postsuper =====
 +==== Mailqueue zu Auslieferung bringen ====
 +Um alle Nachrichten aus der Mailqueu erneut zur Auslieferung zu bringen, erreichen wir durch:
 +   # postsuper -r ALL
 +==== eine einzelne Mail löschen ====
 +Löschen der eMail mit der <​QUEUE-ID>​ aus der Warteschlange
 +   # postsuper -d <​QUEUE-ID>​
 +
 +==== mehrere Mails löschen ====
 +Will man mehrere Nachrichten eines bestimmten Absenders bzw. Empfängers löschen, so wäre die manuelle Löschung von z.B. mehreren Tausenden von Nachrichten nicht mehr durchzuführen.
 +
 +In der Manpage von postsuper findet man hierzu einen sehr Hilfreichen Tip (Die Variabeln sind dabei wie folgt belegt: **$7=sender,​ $8=recipient1,​ $9=recipient2**)
 +
 +Mit folgendem Befehl löscht man z.B. alle Nachrichten von **//​gaudiwurm@nerv.com//​**:​
 +   # mailq | tail +2 | grep -v '^ *(' | awk  'BEGIN { RS = ""​ } { if ($7 == "​gaudiwurm@nerv.com"​) print $1 }' | tr -d '​*!'​ | postsuper -d -
 +
 +// alternativ empfiehlt sich das delete_from_mailq.pl von Victor Duchovni // 
 +<​code>​
 +#​!/​usr/​bin/​perl
 +
 +$REGEXP = shift || die "no email-adress given (regexp-style,​ e.g. bl.*\@yahoo.com)!";​
 +
 +@data = qx</​usr/​sbin/​postqueue -p>;
 +for (@data) {
 +  if (/​^(\w+)(\*|\!)?​\s/​) {
 +     ​$queue_id = $1;
 +  }
 +  if($queue_id) {
 +    if (/​$REGEXP/​i) {
 +      $Q{$queue_id} = 1;
 +      $queue_id = "";​
 +    }
 +  }
 +}
 +
 +#​open(POSTSUPER,"​|cat"​) || die "​couldn'​t open postsuper"​ ;
 +open(POSTSUPER,"​|postsuper -d -") || die "​couldn'​t open postsuper"​ ;
 +
 +foreach (keys %Q) {
 +  print POSTSUPER "​$_\n";​
 +};
 +close(POSTSUPER);​
 +</​code>​
 +
 +===== postalias =====
 +Konvertiert die Datei aliases in das binäre Datenbankformat. (Auf Grund der Doppelpunkte funktioniert hier postmap nicht!) __Muss__ nach jedem Ändern der **/​etc/​aliases** aufgerufen werden!
 +  # postalias /​etc/​aliases
 +===== postmap =====
 +Konvertiert die angegebene Textdatei in das binäre Datenbankformat. Muss nach jeder Änderung an der Textdatei aufgerufen werden!
 +   # postmap /​etc/​postfix/​policyd_weight_client_whitelist
 +
 +Listet alle einträge einer Datenbank (i.e. policyd_weight_client_whitelist) auf:
 +   # postmap -s /​etc/​postfix/​policyd_weight_client_whitelist
 +   ​kundenserver.de OK
 +===== lsof =====
 +Zeigt welches Programm (Command) auf dem gennaten Port lauscht/​reagiert.
 +<​code>​lsof -i :25
 +COMMAND ​  ​PID ​   USER   ​FD ​  ​TYPE ​ DEVICE SIZE NODE NAME
 +smtpd   22703 postfix ​   6u  IPv4 2790158 ​      TCP *:smtp (LISTEN)
 +smtpd   22803 postfix ​   6u  IPv4 2790158 ​      TCP *:smtp (LISTEN)
 +master ​ 31413    root   ​11u ​ IPv4 2790158 ​      TCP *:smtp (LISTEN)</​code>​
 +===== mailx =====
 +Nachrichtentext (Mailbody) wird mit dem Subject "​Betreff"​ an den postmaster und in cc an bigchief geschickt
 +   # echo Nachrichtentext | mailx -s "​Betreff"​ -c bigchief postmaster
 +===== uuenview =====
 +Will man Nachrichten mit Anhängen von der Konsole aus verschicken,​ so z.B. Status- oder Logfiles via cronjob, so bendient man sich am besten **uuenview**.
 + 
 +Das Postfixlog (**/​var/​log/​maillog**) wird als Anhang an den User mit der Adresse **empfaenger@nausch.org** geschickt. Absender ist **absender@nausch.org**,​ wobei wir als Rückantwortadresse **rueckantwortadresse@nausch.org** mitgeben.
 +   # /​usr/​bin/​uuenview -b -s "​Betreff"​ -r rueckantwortadresse@nausch.org -f absender@nausch.org -m empfaenger@nausch.org /​var/​log/​maillog
  • centos/mailserver/nuetzliche_kommandos_rund_um_postfix.txt
  • Zuletzt geändert: 27.01.2011 09:05.
  • von bigchief