Ich entwickle eine Webanwendung, die E-Mails im Auftrag eines angemeldeten Benutzers sendet.Wie implementiert man die Google Mail-OAuth-API zum Senden von E-Mails (insbesondere über SMTP)?
Ich versuche, das neue Gmail OAuth-Protokoll wie beschrieben here zu verwenden, diese E-Mails über das Google Mail-Konto des Benutzers zu senden (vorzugsweise mit SMTP statt IMAP, aber ich bin einfach). Der PHP-Beispielcode gibt mir jedoch einige Probleme.
- Der gesamte Beispielcode basiert auf IMAP, nicht auf SMTP. Warum "unterstützt" man das SMTP-Protokoll, wenn man den Leuten nicht zeigt, wie man es benutzt?
- Der Beispielcode gibt mir einen schwerwiegenden Fehler von einer nicht abgefangenen Zend-Ausnahme - es kann den Ordner "INBOX" nicht finden.
Fatal error: Uncaught exception 'Zend_Mail_Storage_Exception' with message 'cannot change folder, maybe it does not exist' in path\to\xoauth-php-samples\Zend\Mail\Storage\Imap.php:467 Stack trace: #0 path\to\xoauth-php-samples\Zend\Mail\Storage\Imap.php(248): Zend_Mail_Storage_Imap->selectFolder('INBOX') #1 path\to\xoauth-php-samples\three-legged.php(184): Zend_Mail_Storage_Imap->__construct(Object(Zend_Mail_Protocol_Imap)) #2 {main} Next exception 'Zend_Mail_Storage_Exception' with message 'cannot select INBOX, is this a valid transport?' in path\to\xoauth-php-samples\Zend\Mail\Storage\Imap.php:254 Stack trace: #0 path\to\xoauth-php-samples\three-legged.php(184): Zend_Mail_Storage_Imap->__construct(Object(Zend_Mail_Protocol_Imap)) #1 {main} in path\to\xoauth-php-samples\Zend\Mail\Storage\Imap.php on line 254
ich überprüft habe, dass ich gute OAuth bin immer Token zurück, ich weiß nur nicht, wie die tatsächliche E-Mail-Transaktion geschieht. Dieses Protokoll ist immer noch ziemlich neu, daher gibt es nicht viel inoffizielle Community-Dokumentation darüber, und die offiziellen Dokumente sind wenig hilfreiche Dinge über den SMTP-RFC. Also, wenn jemand helfen kann, dies zu erreichen, würde ich es sehr schätzen.
Hinweis: Ich konnte bereits eine Verbindung mit dem SMTP-Server von Google Mail über SSL herstellen und erfolgreich eine E-Mail senden, sofern der Benutzer meiner Bewerbung seinen/ihren Google Mail-Nutzernamen und das Passwort gegeben hat. Ich möchte diese Methode vermeiden, da sie Phishing fördert und sicherheitsbewusste Benutzer sie nicht akzeptieren. In dieser Frage geht es nicht darum.
Da ich neu bin, hat mich der Spamfilter von Stack Overflow dazu veranlasst, die Links zur Google Mail OAuth-Ankündigung zu entfernen (http://googlecode.blogspot.com/2010/03/oauth-access-to-imapsmtp-in-gmail) .html) und Beispielcode (http://code.google.com/p/google-mail-xoauth-tools/wiki/PhpSampleCode). –
können Sie eine Webanwendung erstellen, die E-Mails über Google Mail über JavaScript sendet. Sagen Sie den Google Mail-Servern, dass sie diese für den Benutzer senden sollen. –