PHP Massen-E-Mail Best Practices? (PHPMailer + Gmail)
Denke ich darüber nach, wie Sie Griff Versand großer Mengen von E-Mail von meiner web-Anwendungen, und ob es best practices für so tun. StackOverflow ist bereits die Kennzeichnung als "subjektiv", die es möglicherweise in einem Ausmaß, aber ich muss wissen, der erfolgreichste Weg, um dies zu implementieren, system -, oder ob keine standardisierte Vorgehensweise gibt.
In meine webapp, es gibt Benutzer, die sind die Leiter der Gruppen von 1 bis zu 10.000 Benutzer. Dieser Benutzer muss in der Lage sein, um E-Mail senden einer Nachricht an alle Benutzer durch mein system. Also, mein system ist verantwortlich für das senden von bis zu 10.000 E-Mails an einzelne Benutzer, für jede Gruppe einen Leiter.
Soweit ich das beurteilen kann, gibt es kein limit in Google Mail für das senden von Nachrichten an Einzelpersonen (obwohl es eine 500 Empfänger max).
Recht jetzt mein Aktuelles setup ist:
- Wenn eine Nachricht gesendet wird durch das system, es gibt eine E-Mail-Warteschlange.
- Ein cron-Skript schnappt sich die Nachrichten aus der Warteschlange alle paar Minuten, und sendet die E-Mails.
- Alle E-Mail findet über die GMail-SMTP-server.
- Der eigentlichen Anwendung zu tun das mailing ist PHPMailer.
Diesem setup als user-Basis wächst, wird vermutlich nicht reichen. Die Fragen, die ich habe sind:
- Soll ich mich mit einem lokalen SMTP-server statt?
- Sollte ich eine E-mail mit binären auf dem lokalen Rechner statt? Ich diesem Fall, könnte ich wahrscheinlich überspringen Sie die Warteschlange insgesamt?
- Ist es ein anerkannter Weg, um dies zu tun?
Dank!
InformationsquelleAutor der Frage Kenny | 2009-11-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Mit einer E-Mail zählen als "hoch" wie 10.000 am Tag, ich würde nicht verlassen sich auf GMail (oder anderen) SMTP. Nicht, dass Sie nicht verarbeiten kann es, offensichtlich, Sie kann aber VIEL mehr. Aber Sie vielleicht nicht wollen.
Dass eine lokale SMTP-server ist IMO der Weg zu gehen :
InformationsquelleAutor der Antwort Nicolas
Google App Engine
Würde ich dies Schreibe, in der Google app engine (python), weil:
PHP
Wäre, wenn ich die Implementierung in PHP würde ich
von php/apache/Webseite
Dies ist die Seite, von der aus Sie gesendete Nachrichten an Benutzer. Von dieser Seite können Sie gesendete Nachricht in beanstalkd durch Codierung etwas in der Art von diesem:
Haben Sie Nachrichten in message queue mit put-Befehl
Von lang Laufenden PHP-Skript im hintergrund:
Würde der code wie folgt Aussehen:
Wie ich sage, es ist möglich, mit PHP und der Google app engine, aber ich würde für die app engine, da es einfacher zu implementieren ist.
InformationsquelleAutor der Antwort Alfred
Gmail-und Google Apps-Grenzen, die Sie zu rund 500 E-Mails pro Tag. Ich bin mir nicht sicher, wie Sie Sie kombiniert mit der 500 Empfänger max, aber wenn Sie möchten, senden 10 000 E-Mails, die Sie wahrscheinlich suchen Sie eine andere E-mail-server. Ich persönlich benutze einen lokalen server oder den ISP-oder datacenter-s SMTP.
Versenden Sie viele E-Mails, ich würde empfehlen, mit der Warteschlange, so dass der Benutzer sitzt nicht da und warten auf die E-Mail gesendet werden.
InformationsquelleAutor der Antwort Darryl Hein
Sehr vorsichtig sein, dass Ihre domain nicht in der Blacklist als spam-domain. Wenn es funktioniert, können Sie erwarten, dass die meisten Ihre E-Mails werden blockiert, support, Vertrieb, etc. Dies wiederum könnte sehr teuer werden.
Können Sie stattdessen möchten einen Dienst nutzen, wie AWeber. Nicht nur sind Sie setup, um mit diesen Mengen von E-Mails, aber Sie kann wahrscheinlich geben Ihnen mehr zahlen als Sie implementieren können, auf Ihrem eigenen.
InformationsquelleAutor der Antwort Stephane Grenier
Ich bin mir nicht sicher, ob es publishe überall, aber aus Erfahrung kann ich dir sagen, dass Gmail ein fünfzehn minute oder so einfrieren auf Ihrem Konto, wenn Sie beginnen, das senden Hunderte von Nachrichten zu einem Zeitpunkt. Dies passierte mir Letzte Woche. Ich denke, Sie sollten hosten Sie Ihren eigenen SMTP-server. Mit der mail () - Funktion Häufig wird die mail bei jemand spam-Ordner.
InformationsquelleAutor der Antwort Brandon Jackson
Nur Postfix installiert auf dem lokalen Rechner, oder ein Rechner im gleichen LAN für maximale Zugriffsgeschwindigkeiten. Stellen Sie sicher, es ist gut gesichert von außen, und schnell erreichbar von innen.
Dann der code im PHP-Skript direkt zu injizieren, die E-Mails in der Postfix-queue. Das wird drastisch erhöhen die Geschwindigkeit der Bearbeitung von E-mail-übermittlung.
InformationsquelleAutor der Antwort Ruslan Abuzant