
다음을 사용하여 이메일 서버를 설정했습니다.도커 메일서버.
DKIM
, SPF
및 DMARC
잘 구성되어 있습니다.
SSL은 Let's Encrypt를 사용하여 설정되었습니다. 서버에 TLS 및 STARTTLS가 활성화되어 있습니다.
TLS/SSL 테스트를 실행했습니다.https://www.checktls.com/TestReceiver, 내 SSL이 제대로 작동한다고 표시되었습니다.
Mozilla Thunderbird를 사용하여 서버를 통해 이메일을 주고받을 수 있습니다.
하지만 IMAP을 통해 이메일을 받기 위해 Thunderbird에 로그인하거나 SMTP를 통해 보낼 때 이 경고가 표시됩니다. ("보안 예외 확인" 버튼을 클릭하면 여전히 이메일을 보내고 받을 수 있습니다.)
다른 이메일 TLS/SSL 테스트 사이트 몇 군데를 확인했습니다(1그리고2) 그들은 내 인증서가 올바르게 설정되지 않았다고 생각하는 것 같습니다("인증서가 호스트 이름과 일치하지 않습니다").
생각?
업데이트:에서는 유효한 인증서를 가지고 있다고 인식되지만 에서는 imap.domainname.com
인식 되지 않는 지점에 도달했습니다 . 이 문제를 해결하려면 어떻게 해야 합니까?Thunderbird
imap.domainname.com:143
답변1
오류 메시지에는 스크린샷에 표시된 내용이 정확하게 나와 있습니다. 인증서의 호스트 이름이 일치하지 않습니다. 당신은 당신의 인증서를 확인우편.yourdomain.com이고 유효하다고 표시되어 있으므로 이 호스트 이름에 대해 정확하게 인증서를 생성했습니다. Thunderbird를 사용하도록 구성합니다.아이맵.yourdomain.com.
주체 대체 이름을 포함하고 "imap.yourdomain.com"을 포함하도록 인증서를 구성하지 않은 한 오류 메시지는 완전히 정확합니다.
기본적으로 모든 인증서에는 정확히 하나의 호스트 이름이 포함되며 일치해야 합니다.
또 다른 방법은 와일드카드 인증서 *.yourdomain.com을 구입하는 것입니다. 와일드카드 인증서는 일반적으로 더 비싸지만 주체 대체 이름이 있는 일반 인증서는 "암호화"를 사용하고 90일마다 갱신할 때 무료로 사용할 수도 있습니다.
답변2
이는 mail.example.com
인증서와 imap.example.com
클라이언트 smtp.example.com
구성 간의 불일치입니다. 당신은 다음 중 하나를 할 수 있습니다
- 클라이언트 구성을 수동으로 수정합니다.
- 작업을 더 쉽게 만들기 위해 자동 구성 방법을 설정하거나
- 필요한 모든 호스트 이름을 포함하도록 인증서를 확장하기만 하면 됩니다.
DNS SRV
레코드를 사용하여 자동 구성
표준화된 방식(RFC 6186) 이메일 제출 및 액세스 서버를 찾기 위해 DNS 레코드를 사용합니다 SRV
. 이를 통해 IMAP 및 SMTP 제출이 모두 에서 제공되도록 지정할 수 있습니다 mail.example.com
.
_imap._tcp.example.com. SRV 0 1 143 mail.example.com.
_submission._tcp.example.com. SRV 0 1 587 mail.example.com.
Thunderbird의 자동 구성
SRV
불행하게도 Thunderbird는 현재 기록을 지원하지 않습니다.버그 342242, 구현할 가능성이 없습니다). 그러나 또 다른 구현이 있습니다.자동 구성: 당신은 봉사 할 수 있습니다XML 구성 파일예를 들어
http://autoconfig.example.com/mail/[email protected]
<?xml version="1.0"?>
<clientConfig version="1.1">
<emailProvider id="example.com">
<domain>example.com</domain>
<displayName/>
<incomingServer type="imap">
<hostname>mail.example.com</hostname>
<port>143</port>
<socketType>STARTTLS</socketType>
<authentication>password-encrypted</authentication>
<username>[email protected]</username>
</incomingServer>
<outgoingServer type="smtp">
<hostname>mail.example.com</hostname>
<port>587</port>
<socketType>STARTTLS</socketType>
<authentication>password-encrypted</authentication>
<username>[email protected]</username>
</outgoingServer>
</emailProvider>
</clientConfig>
Thunderbird가 해당 위치에서 해당 구성 파일을 찾지 못한 경우 수동 구성을 선택하지 않는 한 imap.example.com
기본적 으로 주소를 사용합니다.smtp.example.com
해당 주소를 인증서에 추가
또는 해당 주소를 인증서에 추가할 수 있습니다. Torsten은 이미 이 가능성을 언급했지만 유료 와일드카드 인증서를 통해서만 가능하다고 제안했습니다. 다음과 같은 사실은 사실이 아닙니다.
Let's Encrypt ACMEv2는 와일드카드를 지원합니다., 구성하려면 약간의 경험이 필요합니다.
이 세 가지 호스트 이름을 포함하기 위해 와일드카드 인증서가 필요하지 않습니다.주제 대체 이름초(SAN). 가능하다Certbot을 사용하여 기존 인증서 확장, 예:
certbot certonly --cert-name mail.example.com -d imap.example.com,smtp.example.com
답변3
제 경우에는 Thunderbird 78.5 업데이트 이후에 문제가 발생했습니다. 나는 다음 지침을 따른 후 (제한된 방식으로) 문제를 해결했습니다.
https://stackoverflow.com/questions/63947262/thunderbird-78-how-to-add-security-Exception
포트 값(포트가 여러 개인 경우 쉼표로 구분)을 추가해야 합니다.정보:구성 썬더버드에서키워드에
network.security.ports.banned.override
솔루션은 완벽하지 않았습니다. 이메일을 보내거나 받으려면 Avast에서 이메일 보호 기능을 비활성화해야 했습니다.