Tôi đang truy xuất email từ Gmail bằng PHP và IMAP; tuy nhiên, một số email không có thông báo. Không phải tất cả các tin nhắn đều phải có một thông điệp?IMAP PHP - Email có phải có thông báo không?
Tôi cần một id duy nhất để tham khảo vì vậy tôi không chắc chắn cách theo dõi email khác mà không có nó.
Tôi đang làm gì sai?
Ví dụ ở đây là một tiêu đề email tôi nhận được
[date] => Sun, 06 Nov 2011 21:21:56 -0500
[subject] => Daylight Saving Time? Chili's Saving Time!
[to] => [email protected]
[message_id] =>
[from] => [email protected]
[sender] => [email protected]
[reply_toaddress] => [email protected]
[size] => 14385
[msgno] => 156
[status] => Unread
Cảm ơn
Nhưng vì không có gì đảm bảo, điều này không ngăn chặn một MTA lỗi/độc hại sử dụng các ID thư giống hệt nhau cho các thư khác nhau đúng không? Cách tốt nhất để bảo vệ chống lại tình trạng này là gì? – Pacerier
@Pacerier nếu mối quan ngại của bạn là đảm bảo một MTA khác không thể sao chép ID thư của máy chủ của bạn, điều đó rất khó. Bạn có thể tạo ID tin nhắn dưới dạng băm của thời gian tin nhắn, tên máy chủ của bạn và một khóa bí mật, điều này sẽ làm cho việc tạo giả mạo một Message-ID trở nên khó khăn nhưng tôi không chắc chắn bạn sẽ đạt được nhiều. Phương pháp xác minh người gửi mạnh mẽ duy nhất trong email là ký và mã hóa PGP. –
Bản cập nhật cho câu hỏi cũ này: Tôi đã luôn tin rằng ID thư là "phải" - nhưng tôi vừa phát hiện một email trong hộp thư đến IMAP của mình mà không có! Tôi nhìn vào nguồn thô. Phần mềm đọc tin nhắn IMAP của tôi bị lỗi vì điều này, như tôi cho rằng luôn có một ID tin nhắn. –