2015-08-05 21 views
7

Tôi đang xây dựng một dịch vụ quét email của mọi người cho các tệp đính kèm cụ thể và đính kèm chỉ mục PDF. Tôi đã triển khai thực hiện điều này với OAuth2 cho Gmail bằng cách sử dụng rộng rãi Gmail API hoạt động hoàn hảo của nó.Cách đọc email triển vọng của người dùng bằng Oauth2?

Tôi hiện muốn thực hiện tương tự cho outlook/live/hotmail. Vì vậy, tôi đã tìm kiếm xung quanh và chủ yếu đọc rằng youcan "Kết nối với Outlook.com IMAP bằng cách sử dụng OAuth 2.0" (tutorial here). Vấn đề là điều này thực hiện một kết nối IMAP đầy đủ. Theo tôi biết điều này có ý nghĩa hơn đối với các ứng dụng hậu mãi mà người dùng có thể xem và gửi email của mình, không phải cho các ứng dụng cần tải xuống một số email trong nền (như của tôi).

Tôi chưa từng làm việc với IMAP từ bên trong mã, nhưng vấn đề chính tôi thấy với điều này bây giờ là:

  1. Nếu tôi đọc email họ sẽ được thiết lập để "đọc" trong hộp thư đến của người dùng mà tôi rõ ràng không muốn (Tôi không muốn can thiệp vào việc sử dụng email thông thường của người dùng).
  2. Tôi sẽ cần kết nối với tất cả hộp thư đến email hoặc liên tục lặp qua tất cả các hộp thư email đến để nhận email mới.

Câu hỏi của tôi thực sự là;

  1. Có cách nào khác ngoài số IMAP để có được người dùng outlook.com email không?
  2. Hoặc sự cố của tôi có thực sự không phải là vấn đề hay không và tôi có nên tạo một bộ thu "IMAP" cho tất cả tài khoản email outlook không?
+2

Điểm 1 không phải là vấn đề. Bạn chỉ cần sử dụng các biến thể body.peek tìm nạp để tránh đặt cờ đọc. – Max

+1

Và đối với mục 2, bạn có thể có một kết nối cho mỗi tài khoản và sử dụng phần mở rộng IMAP 'IDLE' của IMAP, được mở rộng và phổ biến ở khắp mọi nơi. – tripleee

+0

Bạn đã trải qua điều này chưa? https://msdn.microsoft.com/en-us/library/dn440163.aspx –

Trả lời

1

Trong câu trả lời cho điểm số 1, theo số Max, bạn có thể sử dụng body.peak để tránh điều này.

Trong câu trả lời cho điểm số 2, theo triplee, bạn có thể kết nối với tất cả các tài khoản và sau đó sử dụng phần mở rộng IMAP được gọi là IDLE.

Trong câu trả lời chỉ # 3, tôi thấy Outlook REST API trong đó bao gồm tùy chọn để đọc email và bạn có thể gọi GET https://outlook.office.com/api/beta/me/messages một cách thường xuyên để có được tất cả các thư trong tài khoản của người sử dụng hoặc bạn có thể gọi GET https://outlook.office.com/api/v1.0/me/messages một cách thường xuyên để có được tất cả thư trong hộp thư đến của người dùng. Bạn có thể tìm thấy danh sách đầy đủ các hoạt động API REST here.

Trong câu trả lời cho điểm số 4, tôi tin rằng một số vấn đề của bạn là vấn đề và những vấn đề khác thì không. Tôi tin rằng bạn không có bất kỳ vấn đề kỹ thuật. Tuy nhiên, tôi tin rằng bạn là chính xác IMAP mà không được thiết kế cho các ứng dụng như của bạn như được hiển thị trong Wikipedia article on IMAP mà đọc (đậm là của tôi),

Trong máy tính, Internet Message Access Protocol (IMAP) là một Giao thức chuẩn Internet được sử dụng bởi ứng dụng email để truy xuất thư e-mail từ máy chủ thư qua kết nối TCP/IP. IMAP được định nghĩa bởi RFC 3501.

Ngoài ra, trong RFC 3501 trong đó xác định các giao thức IMAP gốc nó đề cập đến email khách hàng mà từ absract đọc (đậm là của tôi),

Internet Message Access Protocol, Phiên bản 4rev1 (IMAP4rev1) cho phép a khách hàng để truy cập và thao tác thư điện tử trên máy chủ.

Các vấn đề liên quan