OpenDKIM 구성이 완료된 후 테스트 메일을 보냈을 때 OpenDKIM이 제대로 적용되지 않은 채로 메일이 발송되었을 수 있습니다.
mail 로그(/var/log/maillog) 파일을 살펴보면 다음과 같은 에러 메세지를 확인할 수 있습니다.
Aug 10 22:55:52 [hostname] sendmail[1663]: w7ADtqVX001663: from=no-reply, size=237, class=0, nrcpts=1, msgid=<201808101355.w7ADtqVX001663@[hostname]>, relay=no-reply@localhost Aug 10 22:55:52 [hostname] sendmail[1669]: w7ADtqxP001669: from=<no-reply@[hostname]>, size=469, class=0, nrcpts=1, msgid=<201808101355.w7ADtqVX001663@[hostname]>, proto=ESMTP, daemon=MTA, relay=localhost [127.0.0.1] Aug 10 22:55:52 [hostname] opendkim[829]: w7ADtqxP001669: no signature data Aug 10 22:55:52 [hostname] sendmail[1669]: w7ADtqxP001669: Milter insert (1): header: DKIM-Filter: OpenDKIM Filter v2.11.0 [hostname] w7ADtqxP001669 Aug 10 22:55:52 [hostname] sendmail[1663]: w7ADtqVX001663: to=[myEmail]@gmail.com, ctladdr=no-reply (1003/1003), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30237, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (w7ADtqxP001669 Message accepted for delivery) Aug 10 22:55:53 [hostname] sendmail[1672]: STARTTLS=client, relay=gmail-smtp-in.l.google.com., version=TLSv1/SSLv3, verify=FAIL, cipher=ECDHE-RSA-AES128-GCM-SHA256, bits=128/128
여기서 주목해야 할 부분은 opendkim[829]: w7ADtqxP001669: no signature data 입니다. 이 내용이 있다면 opendkim 동작 모드가 잘못 지정되어 발생하는 문제입니다.
먼저 opendkim.conf 파일을 편집해야합니다. /etc/opendkim.conf 파일을 텍스트 편집기로 엽니다.
# vim /etc/opendkim.conf
이후 아래 내용과 같은 부분을 찾습니다. Mode 부분에 ‘v’ 로 값이 지정되어 있을 것입니다.
## Selects operating modes. Valid modes are s (sign) and v (verify). Default is v. ## Must be changed to s (sign only) or sv (sign and verify) in order to sign outgoing ## messages. Mode s
v가 기본 값으로 설정되어 있지만 이를 ‘sv’ 로 변경해주어야 합니다. 적용 이후에는 다음과 같아집니다.
## Selects operating modes. Valid modes are s (sign) and v (verify). Default is v. ## Must be changed to s (sign only) or sv (sign and verify) in order to sign outgoing ## messages. Mode sv
저장 후 opendkim 서비스를 다시 시작해야 합니다. 아래 명령어를 입력합니다.
# service opendkim restart (또는 systemctl restart opendkim)
이제 테스트 메일을 보내보면 문제 없이 메일이 전송되는 것을 확인하실 수 있을 것입니다.
Xcode에서 iOS 애플리케이션을 빌드(Archive)하고 App Store Connect에 앱을 업로드하는 도중, 아래와 같은 에러가 발생하면서 더…
INSTALL_FAILED_INSUFFICIENT_STORAGE 문제 안드로이드 스튜디오에서 에뮬레이터를 실행하고 개발중인 애플리케이션을 실행하려 하면 로그 창에 아래와 같이 표시되면서…
리눅스 명령어 - kill, killall 리눅스 kill 명령어는 특정 프로세스를 종료해주는 명령어입니다. 백그라운드에서 실행되고 있는…
JavaScript는 역사가 긴 스크립트 프로그래밍 언어입니다. 세월이 흐르면서 많은 자바스크립트 표준이 만들어졌고, 현재는 많은 문법적…
NodeJS 테스트 프레임워크인 Mocha는 비동기 테스트를 지원합니다. 간혹 특정 테스트 스크립트를 작성하고 실행하면 아래와 같이…