Sửa lỗi không kết nối được Microsoft khi đọc hộp thư
Một hộp thư chỉ đọc được khi đúng dữ liệu kết nối, đúng quyền và đúng phương thức. Bài này giải thích cách thao tác trên công cụ hiện tại, đọc thông báo và đối chiếu kết quả. Bạn sẽ biết khi nào nên thử lại và khi nào cần kiểm tra nguồn cấp quyền, thay vì hiểu mọi lỗi là do mật khẩu hoặc tự thay các giá trị trong token.
Xác định giai đoạn bị lỗi
Kết nối có thể thất bại khi lấy access token hoặc khi đọc thư qua IMAP hay Graph. Hai giai đoạn dùng địa chỉ và giao thức khác nhau. Thông báo mạng không đủ để kết luận tài khoản hỏng. Kiểm tra kết nối dịch vụ và phương thức trước khi thay token hoặc đổi thông tin nguồn.

Proxy và cổng IMAP
Proxy lỗi có thể chặn kết nối HTTPS, còn tường lửa có thể chặn kết nối IMAP cổng 993. Bộ đọc có cách thử trực tiếp khi proxy từ chối kết nối, nhưng không bỏ kiểm tra chứng chỉ. Nếu IMAP không kết nối được, thử Graph khi token có quyền tương ứng để phân biệt nguyên nhân.
Đối chiếu mã với nội dung của thư
Bộ tìm số hiện tại có thể đưa ra các dãy bốn đến tám chữ số hoặc dạng ba số nối ba số làm gợi ý sao chép. Không phải mọi dãy đều là mã xác minh: năm, số tham chiếu hoặc phần địa chỉ mạng cũng có thể bị nhận diện. Mở Xem nội dung thư để đọc câu yêu cầu dùng mã và đối chiếu tiêu đề. Chọn đúng thư gắn với phiên xác minh hiện tại; mã trong thư cũ có thể không còn được chấp nhận. Nút sao chép chỉ đưa số vào clipboard, không xác nhận hiệu lực và không tự đăng nhập.

Nội dung văn bản và giới hạn hiển thị
Thẻ thư hiển thị tiêu đề, người gửi, thời gian và nội dung dạng văn bản. Những hình ảnh, nút định dạng hoặc bố cục HTML có thể không giống giao diện Outlook vì trang không dựng trực tiếp HTML từ người gửi. Cách hiển thị này phục vụ đọc và đối chiếu, không thay thế ứng dụng thư đầy đủ. Địa chỉ người gửi hoặc tiêu đề quen thuộc chưa đủ chứng minh thư đáng tin; bộ đọc không có chức năng đánh giá giả mạo. Khi cần xử lý liên kết, tệp đính kèm hoặc thư mục khác, dùng công cụ phù hợp và kiểm tra mục đích riêng.
Thông tin được gửi đi đâu khi đọc thư
Thông tin nhập được chuyển tới dịch vụ cục bộ trên máy để thực hiện OAuth và đọc thư từ Microsoft. Vì vậy, khác với phép tách văn bản, tính năng đọc thư thực sự có kết nối mạng. Server hiện tại không chủ động ghi token, mật khẩu hay nội dung thư ra tệp lịch sử. Điều đó không xóa dữ liệu ở clipboard hoặc phần mềm khác trên máy. Không đưa token vào ô tên trước và sau của bộ tách vì các ô đó lưu lịch sử. Khi chia sẻ lỗi, dùng thông báo và cấu trúc giả, tránh ảnh chứa trọn token thật.
Xóa dữ liệu và kết thúc phiên đọc thư
Nút Xóa thông tin và thư hủy yêu cầu giao diện nếu còn chờ, làm trống đầu vào và các thẻ kết quả. Nó không thu hồi quyền ứng dụng trên Microsoft và không xóa thư trong hộp thư. Bộ đọc được thiết kế để đọc, không đánh dấu thay đổi nội dung hộp thư qua thao tác xem. Muốn thu hồi quyền, dùng phần quản lý tài khoản tương ứng; muốn dừng dịch vụ cục bộ, đóng hoặc dừng server. Đây là các thao tác có phạm vi khác nhau. Sau khi hoàn tất, kiểm tra các bản sao đã chuyển ra ngoài trang để không nhầm xóa biểu mẫu với xóa toàn bộ dữ liệu.

Chuẩn bị đúng thông tin kết nối hộp thư
Bộ đọc nhận một tài khoản mỗi lần theo dạng Email|Pass|RefreshToken|ClientID. Mật khẩu được chấp nhận trong định dạng nguồn nhưng không được dùng để đăng nhập trực tiếp. Dịch vụ cục bộ xin access token từ Microsoft bằng refresh token và Client ID. Bạn cần quyền truy cập tài khoản cùng phạm vi ứng dụng đã được cấp. Token trông dài hoặc có đúng số trường chưa chứng minh xác thực sẽ thành công. Khi sao chép từ nguồn, giữ nguyên dữ liệu và không thay Client ID bằng định danh của ứng dụng khác chỉ vì thấy nó trong một ví dụ hướng dẫn.
Mở trang qua dịch vụ chạy trên máy
Đọc thư cần bộ xử lý phía máy, nên chạy mo-doc-mail.cmd và dùng địa chỉ localhost do cửa sổ server thông báo. Trang mở bằng đường dẫn file có thể hiển thị giao diện nhưng không đủ để gọi bộ đọc thư. Cổng có thể thay đổi nếu phiên trước đang sử dụng cổng mặc định. Dùng trang tự mở hoặc kiểm tra địa chỉ của phiên mới thay vì truy cập một đường dẫn cũ. Khi mã server được cập nhật, cần khởi động lại dịch vụ; làm mới trình duyệt chỉ tải lại phần giao diện và không thay mã Python của tiến trình đang chạy.
Chọn phương thức theo quyền đang có
Microsoft Graph API và OAuth2 qua IMAP là hai cách kết nối khác nhau. Graph lấy thư bằng yêu cầu HTTPS, còn IMAP dùng kết nối hộp thư để tìm và đọc nội dung. Quyền của token phải phù hợp với phương thức; có quyền ở cách này không đảm bảo có quyền ở cách kia. Giao diện cho phép chọn và hiển thị phương thức đang dùng để bạn theo dõi. Nếu không biết phạm vi token, kiểm tra nguồn cấp hoặc quy trình đồng ý của ứng dụng. Không thể suy ra quyền chỉ từ email, mật khẩu hay hình thức của chuỗi refresh token.
Theo dõi tiến trình và phân biệt thông báo
Sau khi bấm đọc, nút bị vô hiệu trong lúc chờ và dòng trạng thái cho biết đang kết nối theo phương thức nào. Thành công sẽ hiện số thư trả về cùng các thẻ nội dung. Nếu lỗi, đọc mô tả trước khi đổi dữ liệu. Từ chối xác thực thường liên quan token hoặc quyền; không kết nối được thường liên quan mạng, proxy, tường lửa hoặc thời gian chờ. Đây là các nhóm nguyên nhân khác nhau. Đừng sửa mật khẩu trong nguồn để xử lý lỗi mạng, vì mật khẩu không tham gia luồng OAuth của bộ đọc hiện tại.

Câu hỏi thường gặp
Có cần kiểm tra lại dữ liệu sau mỗi lần thay đổi không?
Có. Khi thay đổi đầu vào, hãy kiểm tra trạng thái và kết quả mới trước khi dùng. Đừng dựa vào kết quả của phiên trước để xác nhận cho nguồn vừa chỉnh. Với thao tác sao chép, đối chiếu thông báo thành công cùng nội dung bạn định chuyển. Nếu xảy ra lỗi, đọc mô tả ngay tại công cụ và xử lý đúng phần bị báo. Dữ liệu ví dụ trong bài chỉ để thực hành, không dùng để đăng nhập hoặc thử kết nối một hộp thư thật.
Làm sao biết đã hoàn tất đúng mục tiêu của bài?
Hãy xác nhận bạn đã hiểu vấn đề được nêu ở hai phần đầu, thực hiện bước phù hợp trong công cụ và kiểm tra giới hạn của kết quả. Một mã đã xuất hiện, một thẻ đã tách hoặc một danh sách thư đã tải là kết quả của chức năng tương ứng, không chứng minh tất cả dữ liệu nguồn đúng. Nếu mục đích tiếp theo là xác minh ở một dịch vụ khác, cần thực hiện bước đó riêng. Sau cùng, xóa dữ liệu trong trang khi không còn dùng và kiểm tra nơi đã sao chép.