Różne tematy, które nie mieszczą się w określonych kategoriach.
Uwaga: Ta odpowiedź została automatycznie przetłumaczona. W rezultacie może zawierać błędy gramatyczne lub niezręczne wyrażenia.
Cześć Mateusz Tyra - MIRJAN 24
Dziękujemy za skontaktowanie się z forum Microsoft Q&A.
Na podstawie przekazanych przez Ciebie informacji przeprowadziłem dodatkowe analizy i poniżej przedstawiam moje stanowisko wobec Twoich pytań wraz z odpowiednią dokumentacją.
W odniesieniu do pierwszego pytania: Czy istnieje punkt końcowy interfejsu Microsoft Graph API, który zwraca status dostarczenia wiadomości dla każdego odbiorcy?
Nie. Microsoft Graph nie udostępnia dedykowanego punktu końcowego zapewniającego status dostarczenia wiadomości na poziomie transportu. Chociaż zasób message w Microsoft Graph zawiera właściwość internetMessageId i umożliwia wykonywanie zapytań do skrzynki pocztowej, nie obejmuje on informacji o wyniku dostarczenia, takich jak: dostarczono, niepowodzenie lub opóźnienie, w podziale na poszczególnych odbiorców. Tego typu dane są przechowywane w dziennikach transportu poczty, a nie w samej skrzynce pocztowej.
Odnosząc się do drugiego pytania: czy istnieje w Exchange Online podejście oparte na API do programowego pobierania informacji o śledzeniu wiadomości?
Tak. Można użyć Office 365 Reporting Web Service, który zwraca rekordy dostarczenia dla poszczególnych odbiorców, filtrowane według Internet Message-ID:
GET https://reports.office365.com/ecp/reportingwebservice/reporting.svc/MessageTrace
?$filter=MessageId eq '<your-internet-message-id>'&$format=json
Alternatywnie dostępna jest natywna dla Microsoft Graph metoda getMessageTraceV2 (w wersji beta).
Dla wiadomości starszych niż 10 dni (do 90 dni) należy użyć polecenia Start-HistoricalSearch w Exchange Online PowerShell.
Odnośnie do trzeciego pytania: Czy istnieje wspierana metoda API umożliwiająca potwierdzenie, czy odbiorca przeczytał wiadomość?
Tylko dla odbiorców wewnętrznych: można odpytać ich skrzynkę pocztową za pomocą Microsoft Graph i sprawdzić właściwość isRead, pod warunkiem że aplikacja ma uprawnienie aplikacyjne Mail.Read z zatwierdzoną zgodą administratora. To podejście nie działa dla odbiorców zewnętrznych.
Potwierdzenia przeczytania (ustawiane przez isReadReceiptRequested) są niewiarygodne, ponieważ większość klientów i tenantów je blokuje lub ignoruje.
Wymagane uprawnienia:
Message Trace API: rola Reports Reader lub Exchange Administrator; OAuth 2.0 (client credentials) względem https://outlook.office365.com/.default
Odczyt isRead przez Graph: uprawnienie aplikacyjne Mail.Read z zgodą administratora tenanta
Referencje:
Proszę zauważyć, że zasób podlinkowany w tym wątku jest dostępny wyłącznie w języku angielskim. Szczerze przepraszam za wszelkie niedogodności, jakie może to spowodować dla osób, które wolą lub potrzebują treści w języku polskim. Jeśli potrzebujesz pomocy w zrozumieniu zawartości, zalecam skorzystanie z zaufanego narzędzia lub usługi tłumaczeniowej.
Jeśli odpowiedź jest pomocna, kliknij ""Akceptuj odpowiedź"" i uprzejmie zagłosuj na nią. Jeśli masz dodatkowe pytania dotyczące tej odpowiedzi, kliknij ""Skomentuj"".
Uwaga: Prosimy postępować zgodnie z instrukcjami w [naszej dokumentacji], aby włączyć powiadomienia e-mailowe, jeśli chcesz otrzymywać powiązane powiadomienia e-mail dla tego wątku.