Discourse로 이메일을 보낼 때 DKIM 서명이 적용되지 않습니다

VPS에 Discourse를 설치해 두었고,
다른 관리형 VPS에는 DirectAdmin과 exim SMTP가 실행되고 있습니다.

Discourse에서는 DirectAdmin VPS의 SMTP 서버 정보를 사용했습니다.

isnotspam.com으로 이메일을 검사해 보았습니다.

DirectAdmin SMTP를 사용하여 Thunderbird로 이메일 전송

결과: 통과
확인된 ID: [header.From=discourse@example.com](mailto: header.From=discourse@example.com)
Selector=x
domain=example.com
DomainKeys DNS Record=x._domainkey.example.com

하지만 Discourse를 통해 보내면 결과는 통과되지만 selector가 없습니다

결과: 통과
확인된 ID: [header.From=discourse@example.com](mailto :header.From=discourse@example.com)
Selector=
domain=
DomainKeys DNS Record=._domainkey.

어떤 아이디어가 있을까요?

DKIM 서명을 수행할 것으로 기대하는 구성 요소는 무엇입니까?

제 SMTP 서버는 그렇게 해야 합니다.

하지만 discourse에서 이메일이 발송될 때 서명이 동일하게 처리되지 않습니다.

helo forum.example.com 때문인지 궁금합니다.

당신이 이미 답을 알고 계셨네요 :sunglasses: Discourse는 SMTP 클라이언트로 작동하며, DKIM 서명은 Discourse에서 메일을 받는 SMTP 서버가 제공해야 합니다.

네, 맞습니다.

따라서 isnotspam으로 확인했을 때 서로 다른 서명 결과가 나오던 것이 저를 혼란스럽게 했습니다.


어쨌든, 오늘 다시 테스트를 실행했는데 지금은 통과합니다.

–

----------------------------------------------------------
DKIM 검사 세부 정보:
----------------------------------------------------------

결과: 통과
확인된 ID: header.From=discourse@example.com
선택자=x
domain=example.com
DomainKeys DNS 레코드=x._domainkey.example.com

무슨 일이 있었는지 정확히는 모르겠지만, cloudflare의 DNS txt 키를 업데이트해야 했을 뿐만 아니라 메일 서버의 rDNS도 업데이트해야 했습니다.

아마 모든 것이 전파되거나 일부 캐시가 해제되는 데 시간이 필요했던 것일까요?

이전 테스트에서는:

Result: pass
ID(s) verified: [header.From=discourse@example.com](mailto :header.From=discourse@example.com)
Selector=
domain=
DomainKeys DNS Record=._domainkey.

DKIM 레코드가 없었기 때문에 서명이되지 않았습니다.

DNS는 전파(propagate)되지 않는다는 점을 기억하세요.

어쨌든, 이제 메일이 서명되었으므로 문제가 해결된 것이죠?

네, 확인 중이었고, 캐시 갱신이 필요했던 것 같아요.