Tôi đang phát triển một ứng dụng web sẽ gửi email thay mặt cho người dùng đã đăng nhập.Cách triển khai API OAuth của Gmail để gửi email (đặc biệt qua SMTP)?
Tôi đang cố sử dụng giao thức Gmail OAuth mới được công bố mô tả here để gửi các email này thông qua tài khoản Gmail của người dùng (tốt nhất là sử dụng SMTP thay vì IMAP, nhưng tôi rất dễ). Tuy nhiên, mã PHP mẫu cho tôi một vài vấn đề.
- Tất cả mã mẫu đều dựa trên IMAP chứ không phải SMTP. Tại sao "hỗ trợ" giao thức SMTP nếu bạn không cho mọi người biết cách sử dụng nó?
- Mã mẫu cung cấp cho tôi một lỗi nghiêm trọng từ một ngoại lệ Zend chưa được thực hiện - nó không thể tìm thấy thư mục "INBOX".
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
tôi đã xác minh rằng tôi nhận được OAuth tốt mã thông báo lại, tôi chỉ không biết làm thế nào để thực hiện giao dịch email thực tế xảy ra. Giao thức này vẫn còn khá mới mẻ, do đó, không có nhiều tài liệu cộng đồng không chính thức về nó ở đó, và các tài liệu chính thức là những thứ khô ráo vô ích về RFC SMTP. Vì vậy, nếu có ai có thể giúp điều này xảy ra, tôi rất cảm kích điều đó.
Lưu ý: Tôi đã có thể kết nối với máy chủ SMTP của Gmail qua SSL và gửi thành công email, miễn là người dùng đã cấp cho ứng dụng của tôi tên người dùng và mật khẩu Gmail của họ. Tôi muốn tránh phương pháp này, bởi vì nó khuyến khích người dùng lừa đảo và bảo mật không chấp nhận nó. Câu hỏi này không phải là về điều đó.
Vì tôi mới, bộ lọc spam của Stack Overflow đã khiến tôi đưa ra các liên kết tới thông báo Gmail OAuth (http://googlecode.blogspot.com/2010/03/oauth-access-to-imapsmtp-in-gmail .html) và mã mẫu (http://code.google.com/p/google-mail-xoauth-tools/wiki/PhpSampleCode). –
bạn có thể làm cho một ứng dụng web gửi email bằng cách sử dụng gmail thông qua javascript một mình. Giống như yêu cầu máy chủ gmail gửi cho người dùng. –