![]() |
![]() |
|
|
|||||||
| Linux, UNIX, Open Source Rat & Tat bei Problemen und Fragen rund um GNU/Linux, BSD und sonstige UNIXe |
![]() |
|
|
Themen-Optionen | Ansicht |
|
|
#1 |
|
Jr. Member
![]() Registriert seit: 25.04.2003
Alter: 44
Beiträge: 90
|
Hallo liebe Leute,
ich habe ein Mailserver-Problem. Ein großes. Wir verschicken seit über 10 Jahren einen Newsletter an Studenten für Sportwochen. Da haben sich natürlich im Laufe der Jahre einige Tausend Adressen angesammelt. Unser System hat natürlich ganz klar auch einen Abmeldelink, der jeden weiteren Versand permanent sperrt. Jetzt ist nur unser Problem Folgendes: Viele Leute melden sich klarerweise nicht ab, bevor sie eine Emailadresse aufgeben (was innerhalb von 10 Jahren halt sehr wahrscheinlich ist). Ergo versucht unser System an viele Adressen eine Mail zu verschicken, die es nicht mehr gibt. Da fängt das Problem an: Viele Mailserver (wie zB GMX) empfinden das verschicken von Mails an nicht (mehr) existente Adressen als Angriff (bei sagen wir mal mehr als 10 falschen Adressen). Und sperrt einmal für 24 Stunden unsere Adresse. Und unserer Provider bekommt eine Notiz (was jetzt schon kritische Ausmasse annimmt). Irgendwie müssen wir die toten Adressen loswerden. irgendwie eine Idee, wie das möglich wäre? Die Mails werden alle per mail(); verschickt durch ein selbstgestripptes Script. Die Retour-Mails landen dann nicht beim User newsletter sondern ich vermute beim User nobody, da der laut webmin ein Konto mit 650 MB Mails hat. Das hilft einmal teilweise. nur: wo liegt die Maildatei von Nobody?? Ich kann mich ja nicht als Nobody einloggen, da der User ja kein Kennwort hat. Aber auch das löst das Problem nur temporär, da wir ja nur die Adressen bis zur kritischen Zahl x haben, wonach der Server ja richtige/falsche allesamt ignoriert. Das hat jetzt schon solche Ausmasse, dass wir keinen Newsletter mehr aussenden können ohne von der Vertragskündigung bedroht zu sein. Hat da jemand eine Idee? Bitte! LG Stefan
____________________________________
Do you want to dance with me? |
|
|
|
|
|
#2 |
|
Trashtroll
![]() |
Ich vermute, einmal dass du ein Linux System hast ... webmin und nobody ... hört sich danach an.
Es kommt darauf an, welches backend du beim einrichten für die Mails gewählt hast. Es kann sein, dass die Mails unter /var/mails abgelegt sind. Sie können aber auch in einer Datenbank sein, wie MySQL, Postgres, .... Was ich vorschlagen würde ist: Die Liste von einen Script automatisch durchgehen zu lassen, eine Adresse die minute in der Endgegengesetzen rein-folge der Eintragungen ... also aktuelle zuerst ... mit einen newsletter oder der Bitte den newsletter zu bestätigen, da wegen Wartungsproblemen die Aktualität nicht festgestellt werden kann ... je nachdem wie-viele entfernt werden sollen *gg* Als Absender ein konto angeben, auf dem Zugriff ist ... und die fehlgeschlagenen Zustellungen mit der Fehler ID abspeichern ... also ob die Mailadresse nicht existiert, oder ob der Mailserver grad offline war, etc. => Auswerten
____________________________________
It's more fun to write crap that nothing! Just kidding. ![]() Ich bin für kreative Rechtschreibung, da kann man keine Fehler machen |
|
|
|
|
|
#3 |
|
Jr. Member
![]() Registriert seit: 25.04.2003
Alter: 44
Beiträge: 90
|
Hi, ja, das war wohl zu wenig Info...
System: Debian: Mailserver: Postfix Hab die Maildatei unter /var/mail gefunden, die entsprechende Datei einem neuen User zugeschoben, Recht geändert, hab die Mails auch mit dem Befehl "mail" auslesen können. Aber: nicht mit Thuderbird ("No new messages"). Hmmmm. Wie gesagt, das Newsletter Script ist von mir selbst programmiert worden (vor ca. 5 Jahren). Das hat nicht vorgesehen, dass es automatisiert die rückkommenden Mails ausliest. den Leuten eine Mail schicken, dass sie die Adresse bestätigen sollen wird wohl nicht reichen, da wir eben gar nicht alle erreichen KÖNNEN! Blöde Situation, eigentlich können wir ie Liste schmeissen. Das erste Drittel aller Accounts aus Prinzip löschen, um "Müll" loszuwerden geht auch nicht, da viele unserer Kunden Stammkunden sind, d.h. die schon früher dabeiwaren kommen eher wieder. Ich bin ganz ehrlich planlos
____________________________________
Do you want to dance with me? |
|
|
|
|
|
#4 |
|
Trashtroll
![]() |
Du kannst die Mails mit den richtigen berechtigungen üblicherweise direkt lesen.
Heißt: Code:
sudo USER cat /var/mail/nobody | grep "550" | grep "@" > unknown_users.txt http://de.wikipedia.org/wiki/Bounce_Message Fehlerhafte Adressierung (Code 550) sudo USER = Mit dem Benutzer USER mache cat /var/mail/nobody = lese die Datei "/var/mail/nobody" | = übergebe an grep "550" = nur Zeilen die den String "550" enthalten weitergeben grep "@" = nur Zeilen mit MailAdressen weitergeben > schreibe in Datei Nun musst du nur noch die Mail Adressen aus den Fehlerzeilen auslesen. Du kannst auch detaillierter nach code "5.1.1" suchen. Aber das ganze sollte einmal eine grobe Liste liefern. Entweder kennt man sich nun mit reg-expressions aus ... oder es geht einen wie mir und man muss sich ein kleines Programm schreiben, was sich aus der nun erlangten Datei die Adressen raus-sucht ... am besten mit der Anzahl an fehlgeschlagenen Zustellungen. !!!!!!!!!!!!!! Vorsicht !!! 550 kann auch bedeuten, dass Mail wegen Spam-verdacht entfernt wurde !!! hab ich Grade gelesen. Also Liste vorher sichern.
____________________________________
It's more fun to write crap that nothing! Just kidding. ![]() Ich bin für kreative Rechtschreibung, da kann man keine Fehler machen |
|
|
|
|
|
#5 |
|
Trashtroll
![]() |
http://tools.ietf.org/html/rfc3463#section-1
3.2 Address Status => Also nach "5.1." suchen schließt auch weiter mögliche Fehler ein.
____________________________________
It's more fun to write crap that nothing! Just kidding. ![]() Ich bin für kreative Rechtschreibung, da kann man keine Fehler machen |
|
|
|
|
|
#6 |
|
Jr. Member
![]() Registriert seit: 25.04.2003
Alter: 44
Beiträge: 90
|
Danke für die Hilfe, werde mir das alles mal zu Gemüte führen. Hab dank deiner Hilfe den Mail-Ordner gefunden und zu einem neuen User verschoben (in einer VM, da der Server beim connecten gestorben ist), und dann quasi "halb-lokal" (VM lief auf meinem Rechner) per Thunderbird ausgelesen. 500k Mails! Kein Wunder, dass der Server Probleme hatte.
Diese dann mit Filterphrasen blockweise zu rund 300 Mails zusammengekürzt. Der Rest... Spam und Meldungen von root@localhost. Ein Teil der Adressen ist hier, der andere Teil ist bei newsletter@unseredomain.xy. Die hat mir Webmin zwar als leer angezeigt, tatsächlich waren aber auch hier einige Tausend Mails drinnen. (Will wieder zu einem Managed System zurück *seufz*)
____________________________________
Do you want to dance with me? |
|
|
|
|
|
#7 |
|
Trashtroll
![]() |
Gehst du die Mails manuell durch?
____________________________________
It's more fun to write crap that nothing! Just kidding. ![]() Ich bin für kreative Rechtschreibung, da kann man keine Fehler machen |
|
|
|
|
|
#8 |
|
Trashtroll
![]() |
kannst du php ausführen?
dann schreib ich dir einen skript, der dir die Fehler nach Adresse, Fehler und Menge sortiert und ausgibt.
____________________________________
It's more fun to write crap that nothing! Just kidding. ![]() Ich bin für kreative Rechtschreibung, da kann man keine Fehler machen |
|
|
|
![]() |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|