• Sendmail


  • SMTP 서버 설치 (CentOS7 기준)
$ yum install sendmail sendmail-cf -y

# sendmail 시작, 재시작, 중지 커맨드

$ systemctl start sendmail
$ systemctl restart sendmail
$ systemctl stop sendmail


  • SMTP 서버 설정
    • /etc/mail/sendmail.mc
      • sendmail.cf 는 sendmail의 설정파일,
      • sendmail.mc는 설정을 조금더 용이하게 하기 위한 보조 파일
      • m4 sendmail.mc > sendmail.cf 커맨드로 설정 적용
    • /etc/mail/access
      • IP, Domain, Email Address, 네트워크에 대해 Sendmail 에 접근하지 못하도록 제한 설정 파일
      • 스펨메일 방지나 스펨메일 릴레이 방지에 사용
      • makemap hash /etc/mail/access < /etc/mail/access 커맨드로 설정 적용


  • sendmail.mc 설정
$ cd /etc/mail
$ vi sendmail.mc

[수정 전]

...(중략)

dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
dnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

... (중략)

DAEMON_OPTIONS(`Port=smtp, Addr=127.0.0.1, Name=MTA')dnl



## dnl 은 주석 처리문자이며 위 두 라인은 dnl 삭제
## 외부 어디에서나 현재 서버의 메일 서비스를 사용할 수 있도록 루프백 주소를 (127.0.0.1 -> 0.0.0.0) 으로 변경


[수정 후]

... (중략)

define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

... (중략)

DAEMON_OPTIONS(`Port=smtp, Addr=0.0.0.0, Name=MTA')dnl


# 설정 적용 후 sendmail.mc 를 sendmail.cf에 반영
$ m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

# sendmail 재시작
$ systemctl restart sendmail


  • 메일 전송 테스트 1 - Telnet 사용



# 로컬 SMTP 서버를 사용 - hiworks 메일로 전송

# telnet 으로 localhost 의 SMTP 서버 접속

$ telnet localhost 25
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 192.168.1.51 ESMTP Sendmail 8.14.7/8.14.7; Mon, 21 Aug 2023 13:42:59 +0900


EHLO smtps.hiworks.com


250-192.168.1.51 Hello localhost [127.0.0.1], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-AUTH GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN
250-DELIVERBY
250 HELP


MAIL FROM:CUDO@Noreply.co.kr
250 2.1.0 CUDO@Noreply.co.kr... Sender ok


RCPT TO:sjh@cudo.co.kr
250 2.1.5 sjh@cudo.co.kr... Recipient ok

DATA
354 Enter mail, end with "." on a line by itself
Subject:sendmail test mail


This is Test Message
.
250 2.0.0 37L4oCHa015323 Message accepted for delivery

QUIT
221 2.0.0 192.168.1.51 closing connection
Connection closed by foreign host.
    • EHLO smtps.hiworks.com
      • hiworks SMTP 서버와 통신 시작
      • 성공 시 250 OK
    • MAIL FROM:CUDO@Noreply.co.kr
      • 받는 SMTP 서버에 메시지 보낸 사람을 알리기 위한 명령
      • 성공 시 250 OK
    • RCPT TO:sjh@cudo.co.kr
      • 받는 SMTP 서버에 메시지 받는 사람을 알리기 위한 명령
      • 성공 시 250 OK
    • DATA
      • 데이터를 보낼 준비가 완료 되었음을 SMTP 서버에 알림
      • 성공 시 354 Send data. 응답
    • Subject:.....
      • 메일 제목 입력 부분
      • 입력 후 Enter 두번 입력
    • 본문을 입력 후 마지막 줄에 . 을 입력하고 Enter 하면 본문 끝맺음
    • QUIT
      • SMTP 연결 종료


  • 메일 전송 테스트 2 - mailx 사용
# mailx 설치
$ yum install -y mailx

$ mail sjh@cudo.co.kr
Subject : test Mail!!
Test mail.....!!!!!

# CTRL + D 명령으로 메일 끝맺음

EOT


  • webMethods 서비스 사용 (pub.client:smtp)
mailhost : localhost
mailhostPort : 25





  • webMethdos SMTP 서버 설정
    • Administration > Resources > Edit resource settings > Email Notification 설정
    • 주요 설정 상세
SMTP Server
Simple Mail Transfer Protocol ( SMTP ) 서버의 주소 입력
Port
SMTP 서버 연결 시 사용할 포트 입력 (25, 465 등)
Transport Layer Security
SSL 암호화 유형 설정 (None, Explicit, Implicit)
Truststore Alias
SSL 연결 시 사용할 인증서가 포함된 Truststore Alias 명 입력
(Security > Keystore 에서 설정)
Internal Email
내부 서버 오류가 발생 시 서버가 메시지를 보내는 전자메일 주소
서버 키 만료 또는 과도한 로그인 시도에 대한 경고 등
일반적으로 관리자의 이메일 주소 입력
Service Email
응용 프로그램 오류에 대한 메시지를 받을 사람의 이메일 주소 입력
Username
SMTP 연결 시 사용할 유저 명
Password
SMTP 연결 시 사용 할 패스워드




[PPT]