Ich verwende einen Ubuntu 14.04 (Linux) Server. Ich habe Postfix und OpenDKIM sehr gut auf dem Server installiert und konfiguriert . Ich kann E - Mails an mich mit Befehlen wie senden echo hi | sendmail root
und postfix / opendkim fügt Header wie Message-Id
, Date
und DKIM-Signature
, uns darauf , die E - Mail an meine persönliche E - Mail - Adresse, und alles funktioniert super.
Jetzt möchte ich eine Anwendung erstellen, die in einem Docker- Container ausgeführt wird und auf die gleiche Weise E-Mails senden kann. Insbesondere möchte ich mich nicht um das Hinzufügen von Headern wie kümmern Message-Id
und ich möchte nicht sehr viel Konfiguration oder Softwareinstallation innerhalb des Containers selbst durchführen.
Wie geht das am besten?
Gibt es eine Möglichkeit, den Container das sendmail
ausführbare Objekt auf dem Host ausführen zu lassen ?
Ich habe versucht, über das SMTP-Protokoll auf Port 25 von einem Container aus eine Verbindung zu Postfix herzustellen, aber Postfix scheint Nachrichten, die auf diese Weise empfangen wurden, anders zu behandeln. Ich glaube, es wurden keine Header hinzugefügt, sodass die Nachricht von Google Mail als Spam abgewiesen wurde (es war nicht einmal gut genug, um sie in meinem Spam-Ordner abzulegen).
Hier der Maillog-Inhalt
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
Header, einen Subject
Header und einen einzeiligen Text. Ich bin mir nicht sicher, wie ich sagen soll, welche Header Postfix hatte, nachdem es die Milters durchlaufen hat. Weißt du wie? Hier ist die Ausgabe in / var / log / syslog, die zeigt, wie sie von Postfix verarbeitet und von Google Mail abgelehnt wurde: gist.github.com/DavidEGrayson/fbf65c8290c049a1f262