2016-08-03 25 views
2

Ich versuche eine E-Mail von einer CLI-Anwendung zu senden, die symfony2 mit swiftmailer verwendet. Die Anwendung wird in Google Cloud gehostet und der E-Mail-Dienst, den ich verwenden möchte, ist Sendgrid.E-Mail mit sendgrid über swiftmailer von google cloud senden

Wenn ich versuche es perfekt E-Mails von der lokalen Umgebung zu senden funktioniert, aber wenn sie versuchen, wenn ich von Google Cloud Maschine zu senden halten Exception occurred while flushing email queue: Connection could not be established with host smtp.sendgrid.net [Connection timed out #110]

bekommen Ich habe hinzugefügt Ports 2525 und 465 in Firewall-Regeln von der Cloud-Maschine.

telnet smtp.sendgrid.net 2525 funktioniert perfekt auf der Maschine (und ist der einzige Port, der funktioniert). Ich habe versucht, alle Kombinationen von sengrid Mail-Ports (465, 2525, 587) und Verschlüsselungstypen (tls, ssl) Whiteout Erfolg.

Hat jemand das gleiche Problem vor oder hat eine Idee?

Antwort

0

Verwenden Sie den App Engine-Standard oder App Engine Flexible? Mit Standard müsste der Client Sie verwenden die Sockets-API verwenden:

https://cloud.google.com/appengine/docs/php/sockets/

Wenn Sie App Engine Flexible verwenden, sollten diese "funktionieren":

https://cloud.google.com/php/

Wir haben sogar eine Probe hier:

https://github.com/GoogleCloudPlatform/php-docs-samples/tree/master/appengine/flexible/sendgrid

Wenn Sie stecken auf Standard, hier eine weitere Option ist die Sende grid HTTP-API zu verwenden:

https://sendgrid.com/docs/API_Reference/Web_API_v3/Mail/index.html

hoffe, das hilft!