WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Linux, UNIX, Open Source (http://www.wcm.at/forum/forumdisplay.php?f=13)
-   -   Probleme mit Mailserver/Newsletter (http://www.wcm.at/forum/showthread.php?t=241369)

Wientanz 01.02.2011 23:23

Probleme mit Mailserver/Newsletter
 
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

ZombyKillah 02.02.2011 09:20

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

Wientanz 02.02.2011 19:26

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

ZombyKillah 02.02.2011 22:05

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
Info:
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.

ZombyKillah 02.02.2011 22:13

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.

Wientanz 09.03.2011 12:44

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*)

ZombyKillah 09.03.2011 19:29

Gehst du die Mails manuell durch?

ZombyKillah 09.03.2011 20:08

kannst du php ausführen?
dann schreib ich dir einen skript, der dir die Fehler nach Adresse, Fehler und Menge sortiert und ausgibt.


Alle Zeitangaben in WEZ +2. Es ist jetzt 23:40 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag