Kann ich Amazon SES mit Symfony2 und das Swiftmailer-Bundle?
Bin ich eine Website hosten auf Amazon ' s ec2 läuft ein 64-bit-version von CentOS.
Die Website hat eine einfache Kontaktieren Sie Uns bilden muss, senden Sie eine E-Mail an mehrere Adressen gesendet wird (ziemlich einfach).
Hat jemand verwendet Amazon SES mit Symfony2 und das Swiftmailer-Bundle? Und wenn ja, empfehlen Sie die Verwendung von SES oder eine eher traditionelle E-Mail-server für diese Art von Aufgabe?
- Wie ist jetzt erforderlich, dass Sie verwalten, bounces und Beschwerden, Sie können die AWS SES-Monitor-bundle dazu. Es bietet auch einige nützliche Befehle zu automatisieren die Erstellung von Themen zu erhalten Benachrichtigungen über AWS SNS über bounces, Beschwerden und Lieferungen. Das bundle ist github.com/Aerendir/aws-ses-monitor-bundle . Hoffe, das wird helfen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ist es möglich zum senden von E-Mail per se mit der systemeigenen SMTP-transport im Lieferumfang der swiftmailer-Bibliothek. Beispiele wurden getestet mit der version 4.2.2.
Amazon SES erfordert die Verwendung von TLS-Verschlüsselung.
Swift_SmtpTransport
transport Klasse kann so konfiguriert werden, verwenden Sie TLS-Verschlüsselung durch die übergabe tls als drittes argument im Konstruktor:In Symfony2 konfigurieren Sie die
swiftmailer
service zu nutzen, der TLS-Verschlüsselung:Versenden von E-Mails direkt von einem mailserver installiert auf einer EC2-Instanz ist nicht sehr zuverlässig, wie die EC2-IP-Adressen, kann die schwarze Liste gesetzt. Es wird empfohlen, einen vertrauenswürdigen mailserver so mit SES scheint eine gute Idee zu sein.
Versenden von E-mails durch SES über Symfony2 hat nicht funktioniert out of the box für mich, denn ich hatte die spool-option konfiguriert in meiner config.yml.
Einem anderen problem, über das ich gestolpert, war der Hafen. Port 25 und 587 funktioniert perfekt, aber 465 habe mir ein timeout.
Und es ist wichtig, dass Sie die richtige SMTP-server, auf den ersten ich war mit us-east-1 (weil ich es kopiert aus einem Beispiel), obwohl mein SMTP-eigentlich war email-smtp.eu-west-1.amazonaws.com
Also hier ist meine aktuelle config:
Fand ich das problem durch ausführen der folgenden auf meine Befehlszeile:
[Swift_TransportException] Connection could not be established with host email-smtp.us-east-1.amazonaws.com [Connection timed out #110]
Wechsel auf port 587 wird das Problem behoben587
trick! Ich war immer timeout auch mit487
587
haben es geschafft 🙂Es gibt ein SES-transport-vorgefertigte für swiftmailer. Sehr einfach einzurichten:
https://github.com/jmhobbs/Swiftmailer-Transport--AWS-SES
Wenn Sie stick mit der kostenlosen tier-Grenzen (2K-tägliche Nachrichten), würde ich auf jeden Fall empfehlen Sie zu-stick mit SES statt einer herkömmlichen E-Mail-server. Es ist einfach, einfache Integration mit den meisten Plattformen, und beseitigen Sie die Wartungs-und Betriebskosten (obwohl klein, Sie sind immer noch da) für Ihre E-Mail-server. Natürlich gibt es noch Daten-transfer-Kosten bei der Verwendung von SES, wie Sie sehen können auf Amazon SES-Preise, aber das könnte Ihre Bedürfnisse anpassen sowie.
Seit Dezember 2011 können Sie smtp verwenden, mit switfmail aber bevor Das problem war, dass dieses bundle noch nicht über die Umsetzung für die Arbeit über EC2, sondern existiert bereits. Wenn Sie mögen, senden Sie E-Mails mit einigen Rahmenbedingungen wie z.B. switfmail sollten Sie sich Ihr Kennwort und Schlüssel, und tun Sie etwas wie dieses:
Nimm deine Schlüssel, gehe in die AWS-Management-Konsole" - > "SMTP-Einstellungen" > "meine SMTP-Anmeldeinformationen"
Und Sie gehen zu müssen, installieren Sie diese Erweiterung :
https://github.com/jmhobbs/Swiftmailer-Transport--AWS-SES
aber ich wiederhole, dies ist nur Informationen. Nun, sollten Sie verifiziert Ihre E-Mail-Konto, bevor Sie in Ihrer AWS Management Console und später arbeiten sollte.
Fügen Sie einfach 'tls' als Dritten Parameter. Funktioniert einwandfrei
Ex: