Problemübersicht

Problemübersicht

Problemübersicht

Ich bin gerade dabei, eine P2V-Migration durchzuführen, und habe ein Problem damit, Tomcat und Sendmail miteinander zu verbinden. Ich kann die Anwendung nicht dazu bringen, E-Mails zu versenden.

Die Hauptunterschiede zwischen den beiden Systemen sind:

  • Das Betriebssystem wird von CentOS 5.6 auf CentOS 7.2 aktualisiert.
  • Sendmail wird von 8.13.8 auf 8.14.7 aktualisiert
  • Tomcat wurde früher als Root ausgeführt und wird jetzt als Tomcat ausgeführt.

Das gleiche Setup (abzüglich der oben genannten Unterschiede) funktioniert derzeit in der physischen Umgebung.

Die Anwendung stellt eine Verbindung her, ohne dass ein Benutzer oder ein Passwort angegeben werden muss. In den Sendmail-Konfigurationen gibt es nichts, das die Authentifizierung einrichtet, außer diesem in sendmail.mc:

define(`confAUTH_OPTIONS', `A')dnl

Protokolle

Der Hauptfehler, den ich von catalina.out erhalte, ist:

Caused by: javax.mail.AuthenticationFailedException: No authentication mechansims supported by both server and client
    at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:590)
    at javax.mail.Service.connect(Service.java:291)
    at javax.mail.Service.connect(Service.java:172)
    at com.tw.manage.business.services.MailService.sendMessage(MailService.java:97)

Kompletter Fehler hier auf Pastebin.

Dekompilierter com.tw.manage.business.services.MailService.sendMessage-Code hier.

Relevante App-Eigenschaften hier:

# Mail properties
# ---------------

# email server host
mailer.smtp.host=localhost

# email server port
mailer.smtp.port=25

# protocol either smtp or smtps
mailer.protocol=smtp

# user account
mailer.user=

# user password
mailer.password=

# either text/plain or text/html
mailer.mime.type=text/html;charset=UTF-8
mailer.subject.mime.type=UTF-8

# email message from email address
[email protected]

Hier ist der Fehler in /var/log/maillog:

Jan 18 14:02:40 app-server sendmail[46298]: v0IJ2exL046298: assigned id
Jan 18 14:02:40 app-server sendmail[46298]: NOQUEUE: connect from localhost.localdomain [127.0.0.1]
Jan 18 14:02:40 app-server sendmail[46298]: AUTH: available mech=GSS-SPNEGO GSSAPI ANONYMOUS, allowed mech=EXTERNAL GSSAPI KERBEROS_V4 DIGEST-MD5 CRAM-MD5
Jan 18 14:02:40 app-server sendmail[46298]: v0IJ2exL046298: Milter: no active filter
Jan 18 14:02:40 app-server sendmail[46298]: v0IJ2exL046298: --- 220 app-server.company.inc ESMTP Sendmail 8.14.7/8.14.7; Wed, 18 Jan 2017 14:02:40 -0500
Jan 18 14:02:40 app-server sendmail[46298]: v0IJ2exL046298: <-- EHLO app-server
Jan 18 14:02:40 app-server sendmail[46298]: v0IJ2exL046298: --- 250-app-server.company.inc Hello localhost.localdomain [127.0.0.1], pleased to meet you
Jan 18 14:02:40 app-server sendmail[46298]: v0IJ2exL046298: --- 250-ENHANCEDSTATUSCODES
Jan 18 14:02:40 app-server sendmail[46298]: v0IJ2exL046298: --- 250-PIPELINING
Jan 18 14:02:40 app-server sendmail[46298]: v0IJ2exL046298: --- 250-8BITMIME
Jan 18 14:02:40 app-server sendmail[46298]: v0IJ2exL046298: --- 250-SIZE
Jan 18 14:02:40 app-server sendmail[46298]: v0IJ2exL046298: --- 250-DSN
Jan 18 14:02:40 app-server sendmail[46298]: v0IJ2exL046298: --- 250-ETRN
Jan 18 14:02:40 app-server sendmail[46298]: v0IJ2exL046298: --- 250-AUTH GSSAPI
Jan 18 14:02:40 app-server sendmail[46298]: v0IJ2exL046298: --- 250-DELIVERBY
Jan 18 14:02:40 app-server sendmail[46298]: v0IJ2exL046298: --- 250 HELP
Jan 18 14:02:40 app-server sendmail[46298]: v0IJ2exL046298: disconnect level 1
Jan 18 14:02:40 app-server sendmail[46298]: v0IJ2exL046298: in background, pid=46298
Jan 18 14:02:40 app-server sendmail[46298]: v0IJ2exL046298: --- 421 4.4.1 app-server.company.inc Lost input channel from localhost.localdomain [127.0.0.1]
Jan 18 14:02:40 app-server sendmail[46298]: v0IJ2exL046298: lost input channel from localhost.localdomain [127.0.0.1] to MTA after ehlo
Jan 18 14:02:40 app-server sendmail[46298]: v0IJ2exL046298: disconnect level 1
Jan 18 14:02:40 app-server sendmail[46298]: v0IJ2exL046298: in background, pid=46298
Jan 18 14:02:40 app-server sendmail[46298]: v0IJ2exL046298: localhost.localdomain [127.0.0.1] did not issue MAIL/EXPN/VRFY/ETRN during connection to MTA
Jan 18 14:02:40 app-server sendmail[46298]: v0IJ2exL046298: dropenvelope, e_flags=0x4001, OpMode=d, pid=46298
Jan 18 14:02:40 app-server sendmail[46298]: v0IJ2exL046298: unlink ./dfv0IJ2exL046298
Jan 18 14:02:40 app-server sendmail[46298]: v0IJ2exL046298: ./dfv0IJ2exL046298: unlink-fail 2
Jan 18 14:02:40 app-server sendmail[46298]: v0IJ2exL046298: unlink ./qfv0IJ2exL046298
Jan 18 14:02:40 app-server sendmail[46298]: v0IJ2exL046298: ./qfv0IJ2exL046298: unlink-fail 2
Jan 18 14:02:40 app-server sendmail[46298]: v0IJ2exL046298: unlock
Jan 18 14:02:40 app-server sendmail[46298]: v0IJ2exL046298: unlink ./xfv0IJ2exL046298
Jan 18 14:02:40 app-server sendmail[46298]: v0IJ2exL046298: ./xfv0IJ2exL046298: unlink-fail 2
Jan 18 14:02:40 app-server sendmail[46298]: NOQUEUE: finis, pid=46298

Dinge, die ich versucht habe

Alle Konfigurationen in /etc/mail sind Bit für Bit gleich. Ich habe überprüft, dass keine Umgebungsänderungen wie Hostnamen erforderlich sind – die Konfigurationen rufen immer nur localhost oder localhost.localdomain auf.

Ich habe Folgendes in meine Hosts-Datei eingefügt:

127.0.0.1       localhost.localdomain   localhost old-app-hostname.vendor.net app-server app-server.company.inc

Ich habe das Senden von E-Mails als Root und mit anderen lokalen Konten getestet telnet localhost 25und konnte mit der gewünschten Absender-E-Mail-Adresse E-Mails in meinem Gmail vom Server empfangen.

Ich habe auch versucht, Tomcat als Root auszuführen.

Antwort1

Ich habe herausgefunden, dass sich die Standardoptionen geändert haben müssen. In Sendmail 8.13 wurde LOGIN standardmäßig angeboten. In 8.14 scheint GSSAPI jetzt standardmäßig angeboten zu werden. Die folgende Zeile in /etc/mail/sendmail.mc ermöglichte den leeren Login von Tomcat nach dem Neustart von Sendmail:

define(`confAUTH_MECHANISMS', `LOGIN')dnl 

verwandte Informationen