Ubuntu 14.04 (Linux) 서버를 실행 중입니다. Postfix 와 OpenDKIM을 서버에 아주 잘 설치하고 구성했습니다 . 나는 다음과 같은 명령을 자신에게 이메일을 보낼 수 있습니다 echo hi | sendmail root, 그리고 후위 / opendkim 같은 헤더를 추가 할 것 Message-Id, Date그리고 DKIM-Signature앞으로 이메일을 내 개인 이메일 주소로 모든 것이 잘 작동합니다.
이제 Docker 컨테이너 에서 실행되고 동일한 전자 메일을 보낼 수 있는 응용 프로그램을 만들고 싶습니다 . 특히,와 같은 헤더 추가에 대해 걱정 Message-Id하고 싶지 않으며 컨테이너 자체 내부에서 많은 구성이나 소프트웨어 설치를 원하지 않습니다.
가장 좋은 방법은 무엇입니까?
컨테이너 sendmail가 호스트 에서 실행 파일을 실행할 수있는 방법이 있습니까?
포트 25의 SMTP 프로토콜을 사용하여 컨테이너에서 Postfix에 연결을 시도했지만 Postfix는 이와 같이 수신 된 메시지를 다르게 취급하는 것 같습니다. 헤더가 추가되지 않아 Gmail이 스팸으로 메시지를 완전히 거부했다고 생각합니다 (스팸 폴더에 넣을만큼 충분하지 않았습니다).
여기 메일 로그 내용
Sep 28 23:35:52 dantooine postfix/smtpd[4306]: connect from unknown[172.17.0.95]
Sep 28 23:35:52 dantooine postfix/smtpd[4306]: DD457889B: client=unknown[172.17.0.95]
Sep 28 23:35:52 dantooine postfix/cleanup[4309]: DD457889B: message-id=<>
Sep 28 23:35:52 dantooine spamd[3175]: spamd: connection from localhost [::1]:59471 to port 783, fd 6
Sep 28 23:35:52 dantooine spamd[3175]: spamd: handle_user (getpwnam) unable to find user: 'someone'
Sep 28 23:35:52 dantooine spamd[3175]: spamd: still running as root: user not specified with -u, not found, or set to root, falling back to nobody
Sep 28 23:35:52 dantooine spamd[3175]: spamd: processing message (unknown) for someone:65534
Sep 28 23:35:52 dantooine spamd[3175]: spamd: clean message (2.5/5.0) for someone:65534 in 0.0 seconds, 331 bytes.
Sep 28 23:35:52 dantooine spamd[3175]: spamd: result: . 2 - MISSING_DATE,MISSING_FROM,MISSING_MID,UNPARSEABLE_RELAY scantime=0.0,size=331,user=someone,uid=65534,required_score=5.0,rhost=localhost,raddr=::1,rport=59471,mid=(unknown),autolearn=no autolearn_force=no
Sep 28 23:35:52 dantooine opendkim[3179]: DD457889B: can't determine message sender; accepting
Sep 28 23:35:53 dantooine postfix/qmgr[3664]: DD457889B: from=<whoever@example.com>, size=275, nrcpt=1 (queue active)
Sep 28 23:35:53 dantooine postfix/smtpd[4306]: disconnect from unknown[172.17.0.95]
Sep 28 23:35:53 dantooine postfix/smtp[4311]: DD457889B: to=<someone@gmail.com>, relay=gmail-smtp-in.l.google.com[2607:f8b0:4003:c05::1b]:25, delay=0.25, delays=0.12/0.01/0.03/0.09, dsn=5.7.1, status=bounced (host gmail-smtp-in.l.google.com[2607:f8b0:4003:c05::1b] said: 550-5.7.1 [fd17:8b70:893a:44bf:fe73:6c21] Our system has detected that 550-5.7.1 this message is likely unsolicited mail. To reduce the amount of spam 550-5.7.1 sent to Gmail, this message has been blocked. Please visit 550-5.7.1 http://support.google.com/mail/bin/answer.py?hl=en&answer=188131 for 550 5.7.1 more information. su20si7357528oeb.94 - gsmtp (in reply to end of DATA command))
Sep 28 23:35:53 dantooine postfix/cleanup[4309]: 254E688A0: message-id=<20140928233553.254E688A0@myserver.example.com>
Sep 28 23:35:53 dantooine postfix/bounce[4330]: DD457889B: sender non-delivery notification: 254E688A0
Sep 28 23:35:53 dantooine postfix/qmgr[3664]: 254E688A0: from=<>, size=3374, nrcpt=1 (queue active)
Sep 28 23:35:53 dantooine postfix/qmgr[3664]: DD457889B: removed
Sep 28 23:35:53 dantooine postfix/virtual[4331]: 254E688A0: to=<whoever@example.com>, relay=virtual, delay=0.01, delays=0/0/0/0, dsn=2.0.0, status=sent (delivered to maildir)
Sep 28 23:35:53 dantooine postfix/qmgr[3664]: 254E688A0: removed
To헤더, Subject헤더 및 한 줄 본문이 있습니다. Postfix가 milters를 통해 실행 한 후 어떤 헤더를 사용했는지 알 수 없습니다. 어떻게 아십니까? 여기가 Gmail의 후위 처리 및 거절 된 방법는 / var / log / syslog 파일 표시에서의 출력은 : gist.github.com/DavidEGrayson/fbf65c8290c049a1f262