Gestern habe ich mal wieder was dazu gelernt und möchte euch daran teilhaben lassen. Es geht dieses Mal um Google Mail über ein Google Apps Konto. Aber nun erst mal von Anfang an.
Ich habe in den letzten Monaten eine wirklich uralte Webseite von mir (03.02.2001 laut archive.org) mal komplett neu gemacht. Also wirklich alles. Datenbank-Design, Layout, Funktionalität, etc. und ich bin mit dem Ergebnis wirklich sehr zufrieden. Nun lebt diese Webseite aber von den Mitgliedern, die hier angemeldet sind und die wollte ich nun alle mal per Mail anschreiben und ihnen mitteilen, dass die Webseite jetzt ganz neu und toll ist, aber dass ich jeden einzelnen darum bitten möchte, sich neu zu registrieren.
So weit so gut. Also habe ich ein kleines Script schrieben, dass die Mitglieder aus der alten Datenbank ausliest und dann jedem einzelnen der 700 Mitglieder eine individuelle E-Mail sendet. Dafür wollte ich ein Google Mail Konto verwenden, das ich mit der Google-Apps Free-Edition nutze (Ausführliche Infos zur Google-Apps Free-Edition findet ihr unter http://m-software.de/google-mailserver/).
Das Skript war schnell fertig und funktioniert auch wunderbar, aber von einem auf den anderen Moment bekomme ich nur noch Fehler (SMTP Fehler: Daten werden nicht akzeptiert.) und ich verstehe nicht, was ich falsch gemacht habe bis ich dann das SMTP Debugging aktiviere und folgende Zeile lese:
550 5.4.5 Daily sending quota exceeded.
Pech!
Nachdem ich ein wenig gegoogelt habe, bin ich dann auch fündig geworden. Wie nicht anders zu erwarten war, handelt es sich um einen Spam Schutz, den Google hier eingebaut hat. Nur, dass es sich in meinem Fall nicht Spam handelt sondern einfach nur um eine große Anzahl von Mails. Unter http://p0i.de/gmail habe ich dann aber schnell gefunden, wonach ich gesucht habe.
1. Es dürfen 2000 E-Mails pro Tag versendet werden.
2. Es dürfen 10.000 E-Mails pro Tag von einem anderen Account weitergeleitet werden (auto-forward)
3. Es dürfen 20 Auto-forward Mail Filter zur automatischen Weiterleitung von E-Mails eingesetzt werden.
4. Es dürfen maximal 2000 Empfänger (max. 500 externe Empfänger) in einer Mail angegeben werden. Dies bezieht sich auf das To, das CC und das BCC Feld.
4. Es dürfen maximal 100 Empfänger in einer Mail angegeben werden wenn die E-Mail per SMTP versendet wird. Dies bezieht sich auf das To, das CC und das BCC Feld.
5. Maximal 10.000 Empfänger pro Tag. Das bedeutet, dass es z.B. möglich ist 100 E-Mails an 100 Adressen pro Tag zu senden. Bei E-Mail Adressen außerhalb der eigenen Domain ist die Anzahl auf 3.000 statt 10.000 beschränkt.
6. Die Anzahl der E-Mail Empfänger Adressen ist auf 3000 (2000 externe) Adressen beschränkt. D.H. man kann pro Tag maximal an 3000 (2000 externe) E-Mail Adressen E-Mails senden.
Dies sind eigentlich recht lockere Beschränkungen, denen ich nicht unterliege, da ich ja nur versucht habe 700 E-Mails an je eine E-Mail Adresse zu senden. Darüber hinaus habe ich auch gelesen, dass es passieren kann, dass der Mail Account beschränkt wird, wenn man eine große Anzahl von Mails an Empfänger schickt, die es nicht gibt. Auch dies erweckt den Spam Verdacht bei Google und führt dazu, dass der Account erst mal nur noch über das Web Frontend verwendet werden kann. Leider ist das in meinem Fall nicht vermeiden, da einige der Mitglieder seit 2001 ihre E-Mail Adresse geändert haben oder nicht mehr existieren.
So weit so gut. Jetzt muss ich also entweder darauf warten, dass die Beschränkung (Daily sending quota exceeded.) wieder aufgeboben wird oder ich versuche mal ein anderes E-Mail Konto. In der Google Apps Version für Einzelpersonen und kleine Teams sind ja bis zu 10 Nutzer enthalten und ich kann mir ja ein weiteres Konto anlegen um damit mein Skript laufen zu lassen.
Das hat dann auch prompt geklappt. Manchmal kann es doch so einfach sein, wenn man nur erst mal drauf gekommen ist. In der Folge bin ich dann zwar noch auf ein weiteres kleines Problem gestoßen, aber auch das ließ sich eigentlich recht einfach lösen.
Von Zeit zu Zeit habe ich den Fehler „SMTP Fehler: Authentifizierung fehlgeschlagen.“ Bekommen und konnte erst mal nicht viel damit anfangen, da die Zugangsdaten sich ja nicht geändert hatten und ich alles in der Konfiguration hinterlegt habe. Was war also passierrt?
Wieder einmal lag es daran, dass viele aufeinander folgende E-Mail Adressen aus der Datenbank nicht mehr existierten und dadurch der Fehler „Delivery to the following recipient failed permanently: #######“ mehrmals hintereinander aufgetreten ist. Google selbst schreibt noch, dass man unter http://support.google.com/mail/bin/answer.py?answer=69585 weitere Informationen dazu finden kann, aber das hat mich auch nicht weiter gebracht. Im SMTP Log habe ich dann aber des Rätsels Lösung gefunden.
535-5.7.1 Please log in with your web browser and then try again. Learn more at
535 5.7.1 https://support.google.com/mail/bin/answer.py?answer=78754
Das ist erst mal nicht viel, aber ich habe dann mal mein Google Mail Konto im Browser geöffnet und musste beim Login tatsächlich einen Captcha Code eingeben. Nachdem ich den Captcha Code eingegeben hatte funktionierte das Skript dann wieder einwandfrei und ich konnte es weiter laufen lassen. Da aber noch einige Empfänger nicht erreichbar waren, musste ich diese Prozedur noch einige Male wiederholen. Wenn ich jetzt daran denke, dass ich noch 6 Weitere Seiten auf genau die gleiche Art und Weise umziehen lassen möchte, dann graut es mir schon davor. Alles in allem scheint es mir keine geeignete Lösung zu sein, um Mails in einem größerem Umfang zu versenden.
Ich hoffe, ich konnte dem Einen oder Anderen hier ein wenig helfen, seine Probleme mit dem Versand von einer großen Anzahl von E-Mails über Google-Mail SMTP zu lösen und dafür evtl. sogar etwas früher den Rechner aus zu schalten .
Weiterführende Themen:
Ich finde, dass da google sehr grosszügig mit seinem Spamschutz ist.
Genau diesen Fehler hatte ich auch schon einmal. obwohl ich sonst keine Probleme mit den Google Schutzmechanismen hatte. Danke für die Beschreibung. Werde ich gleich mal heute Abend ausprobieren.