이슈 개요

이슈 개요

이슈 개요

저는 P2V 마이그레이션을 진행하고 있는데 tomcat과 sendmail이 제대로 작동하는 데 문제가 생겼습니다. 메일 발송 신청이 안되네요.

두 시스템의 주요 차이점은 다음과 같습니다.

  • OS가 CentOS 5.6에서 CentOS 7.2로 업그레이드됩니다.
  • Sendmail이 8.13.8에서 8.14.7로 업그레이드되었습니다.
  • Tomcat은 루트로 실행되었으며 현재는 Tomcat으로 실행됩니다.

위의 차이점을 제외한 동일한 설정이 현재 물리적 환경에서 작동하고 있습니다.

애플리케이션은 사용자나 비밀번호를 지정하지 않고 연결됩니다. sendmail.mc에 있는 것 외에 인증을 설정하는 sendmail 구성에는 아무것도 없습니다.

define(`confAUTH_OPTIONS', `A')dnl

로그

catalina.out에서 얻은 주요 오류는 다음과 같습니다.

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)

여기 페이스트빈에 전체 오류가 있습니다.

여기서 com.tw.manage.business.services.MailService.sendMessage 코드를 디컴파일했습니다.

관련 app.properties는 다음과 같습니다.

# 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]

/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

내가 시도한 것들

/etc/mail의 모든 구성은 비트 단위로 동일합니다. 호스트 이름과 같은 필요한 환경 변경이 없음을 확인했습니다. 구성은 localhost 또는 localhost.localdomain만 호출합니다.

내 호스트 파일에 다음을 넣었습니다.

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

나는 루트 및 기타 로컬 계정으로 메일 보내기를 테스트했으며 telnet localhost 25원하는 전자 메일 주소를 사용하여 서버에서 내 Gmail로 메일을 받을 수 있었습니다.

또한 Tomcat을 루트로 실행해 보았습니다.

답변1

기본 옵션이 변경된 것이 틀림없다는 것을 알았습니다. sendmail 8.13에서는 LOGIN이 기본적으로 제공되었습니다. 8.14에서는 이제 GSSAPI가 기본적으로 제공되는 것으로 보입니다. /etc/mail/sendmail.mc의 다음 줄은 sendmail을 다시 시작한 후 Tomcat의 빈 로그인을 허용합니다.

define(`confAUTH_MECHANISMS', `LOGIN')dnl 

관련 정보