25번 포트 추가 하고나서 linux에 postfix 설정 start!
[참고0] http://www.postfix-jp.info
[참고1] https://oxynotes.com/?p=4646#google_vignette
[참고2] https://monkeycomputer.tistory.com/entry/Postfix-메일서버-사용자-인증
[참고3] http://www.postfix.org/SASL_README.html#server_cyrus
$ yum install cyrus-sasl
$ cd /etc/sasl2
$ cat smtpd.conf
pwcheck_method: saslauthd
mech_list: plain login
$ systemctl start saslauthd
$ yum install cyrus-sasl-plain
$openssl req -new -x509 -nodes -out postfix.pem -keyout postfix.pem -days 365
country Name : JP
state or province name : Tokyo
Locality Name : Tokyo
Organization : company name
organization unit : part
common name : example.co.jp
# 그냥 주석 해제하고 밑에다가 적으면 되는 부분
myhostname = example.co.jp # 호스트 이름을 설정
mydomain = example.co.jp # 로컬 인터넷 도메인 이름 지정
myorigin = $mydomian # 로컬로 보낸 메일이 어떤 도메인에서 오는 것으로 보이는지 지정
inet_interfaces = all # postfix가 기다리는 인터페이스, 디폴트는 localhost로 내부 교환만 가능하게 되어있음. all로 지정해서 외부와 상호작용 가능하게 만들기
mydestination = $myhostname, localhost.$mydomain, $mydomain, localhost, $mydomain # +추가하고싶은 A레코드
#메일서버에는 다른 서버에서 온 메일을 중계하는 기능이 있는데, 자신 주소를 설정하지 않으면 메일 루프가 일어난다고 .....
mynetworks = 192.168.0.0/24, 127.0.0.0/8 #자신의 서버를 나타내는 IP를 설정, 부정릴레이에 위험이 있으니 필수!!!!
relaydomains = $mydestination # 릴레이를 허용하는 주소
home_mailbox = Maildir/ #사용자 이름당 메일을 하나의 파일로 저장
smtpd_banner = $myhostname ESMTP unkown # 보안 관점으로 버전 숨기기
# SMTP 인증 설정하기 ( 뒷부분에 추가해야되는 부분)
smtpd_sasl_auth_enable = yes # 활성화
smtpd_sasl_security_options = noanonymous # 익명 사용자 접근 제한
smtpd_sasl_local_domain = example.co.jp # 접근자 설정시 도메인 사용 가능
smtpd_recipient_restrictions = permit_mynetworks permit_sasl_authenticated reject_unauth_destination
#릴레이 관련 설정 mynetwork지정된 사람만, sasl인증된 사람만, 자신에게 혹은 자신으로부터 인경우만 허가
smtpd_sasl_path=smtpd
smtpd_relay_restrictions = permit_auth_destination, permit_sasl_authenticated
#SSL 설정 하기 (뒷부분에 추가해야되는 부분)
smtpd_tls_security_level=may
smtp_use_tls=yes
smtpd_use_tls=yes
smtp_tls_note_starttls_offer=yes
smtpd_tls_loglevel=1
smtpd_tls_cert_file=/etc/pki/postfix/postfix.pem
smtpd_tls_key_file=/etc/pki/postfix/postfix.pem
# 뒷부분에 추가
message_size_limit = 10485760 # 메일 최대 크기
코맨트 삭제 부분 tls와 sasl인증을 위해서 아래 두개 삭제
smtp inet n - n - - smtpd
#smtp inet n - n - 1 postscreen
#smtpd pass - - n - - smtpd
#dnsblog unix - - n - 0 dnsblog
#tlsproxy unix - - n - 0 tlsproxy
#submission inet n - n - - smtpd
-o syslog_name=postfix/submission
-o smtpd_tls_security_level=may
-o smtpd_sasl_auth_enable=yes
-o smtpd_reject_unlisted_recipient=permit_sasl_authenticated,reject
# -o smtpd_client_restrictions=$mua_client_restrictions
# -o smtpd_helo_restrictions=$mua_helo_restrictions
# -o smtpd_sender_restrictions=$mua_sender_restrictions
# -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
# -o milter_macro_daemon_name=ORIGINATING
smtps inet n - n - - smtpd
-o syslog_name=postfix/smtps
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
# echo -ne '\0usrname\0usrpasswd' | base64
~~~~~~~
# telnet localhost 25
Trying ::1...
Connected to localhost.
Escape character is '^]'.
220 example.co.jp ESMTP unkown
auth plain ~~~~~~~여기다가 넣기
235 2.7.0 Authentication successful
MAIL FROM:~~~~@example.co.jp
250 2.1.0 Ok
RCPT TO:~~~~~~@gmail.com
250 2.1.5 Ok
DATA
354 End data with <CR><LF>.<CR><LF>
subject: HOMEPAGE TEST
TEST
.
250 2.0.0 Ok <- OK 라는 뜻, 이거나오면 잘되는 것!
quit
221 2.0.0 Bye