Android에서 K-9 Mail의 IMAP 클라이언트 사용자 에이전트를 어떻게 변경합니까?

Android에서 K-9 Mail의 IMAP 클라이언트 사용자 에이전트를 어떻게 변경합니까?

Android에서 k-9 메일을 사용하여 다음으로 실행 중인 조직의 IMAP 서버에 연결하려고 합니다.Outlook.office365.com제공하다. 많은 분들이 알고 계시겠지만 Microsoft는 최근에 서비스를 종료했습니다.기본 인증예전에는 이렇게 연결되어 있었습니다. 더 이상 작동하지 않지만 서버와 클라이언트 모두에서 지원되는 OAuth2를 사용할 수 있습니다.

그런데 연결하고 인증할 때 다음과 같은 오류가 발생합니다.

여기에 이미지 설명을 입력하세요.

Linux에서 Thunderbird로 OAuth2 인증을 사용할 수 있다는 점에 유의해야 합니다. IMAP은 두 경우 모두에 사용되는 실제 프로토콜이므로 유일한 차이점은 안드로이드의 경우 서버로 전송되는 "user-agent" 문자열일 것 같습니다.

내 Linux 컴퓨터가 전송하는 것과 동일한 사용자 에이전트 문자열을 사용하도록 K-9를 어떻게 구성합니까?

답변1

Linux에서 Thunderbird로 OAuth2 인증을 사용할 수 있다는 점에 유의해야 합니다. IMAP은 두 경우 모두에 사용되는 실제 프로토콜이므로 유일한 차이점은 안드로이드의 경우 서버로 전송되는 "user-agent" 문자열일 것 같습니다.

아니요, 그렇지 않습니다. 여기서 초기 인증 단계는 다음과 같습니다.아니요IMAP을 통해 완전히 완료됨 – HTTP, 특히 HTTP를 통한 OAuth2를 통해 제공되는 웹페이지가 표시됩니다. 애플리케이션은 OAuth2 서버로부터 "액세스 토큰"을 받은 후에만 IMAP을 사용하여 시작됩니다.

OAuth2에서 서로 다른 클라이언트는 HTTP 수준 헤더가 아니라 일반적으로 OAuth2 HTTP 요청 내에서 전송되는 OAuth2 "클라이언트 ID" 및 "클라이언트 비밀번호"로 구별됩니다. (이 시점에서 실제 HTTP "사용자 에이전트"는 "Android의 Chrome"이라고 말할 수 있습니다.)

K-9가 Thunderbird를 가장하도록 하려면 Thunderbird에서 사용하는 클라이언트 ID와 클라이언트 비밀번호를 추출하고(예: 온라인에서 찾기) 이를 K-9의 소스 코드에 입력한 다음 사용자 정의 K-9 9 Copy 9를 컴파일해야 합니다. (생성된 .apk는 원본 스토어 버전과 동일한 키로 서명되지 않으므로 원본 K-9과 설정을 공유할 수 없습니다.)

이 작업을 수행하기 전에 조직의 시스템 관리자와 상담하는 것이 좋습니다.

관련 정보