💡 핵심 요약 (Executive Summary)
본 가이드는 sendmail 핵심 가이드 및 실전 아키텍처의 핵심 개념, 실전 구성 명령어 및 아키텍처 베스트 프랙티스를 다룹니다. 클라우드 네이티브 및 인프라 엔지니어링 실무에 즉시 활용 가능하도록 체계적으로 정리했습니다.
bash
#!/bin/sh
sudo apt-get update && sudo apt-get -y upgrade
sudo apt-get install -y libsasl2-modules sasl2-bin
sudo apt-get install -y libsasl2-2
sudo apt-get install -y sendmail
sudo sed -i "s/127.0.0.1 localhost/127.0.0.1 localhost.localdomain localhost/" /etc/hosts
sudo bash -c "cat << 'END_HELP' >> /etc/mail/sendmail.mc
TRUST_AUTH_MECH(\`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
END_HELP"
sudo bash -c "cat << 'END_HELP' >> /etc/mail/sendmail.mc
define(\`confAUTH_MECHANISMS', \`EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
END_HELP"
sudo sh -c "m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf"
sudo sh -c "echo Connect:172.16 RELAY >> /etc/mail/access"
sudo sh -c "makemap hash /etc/mail/access < /etc/mail/access"
cd /usr/lib/sasl2/
sudo bash -c 'cat << EOF > Sendmail.conf
pwcheck_method:saslauthd
EOF'
sudo systemctl restart saslauthd
sudo saslauthd -a pam
sudo useradd -m -s /bin/false mailsender
sudo sh -c "echo mailsender:Mailsender123@ | sudo chpasswd"
sudo systemctl restart sendmail
- 메일 발송 테스트
1. Telnet을 사용하여 25번 포트에 연결
2. HELO \<도메인> 명령으로 인사를 한다.
3. MAIL FROM:\<보내는사람> 명령으로 보내는 사람 지정
4. RCPT TO:\<받는사람> 명령으로 받는 사람 지정
5. DATA 명령으로 본문입력을 하겠다는 의사전달
6. 본문입력
7. . 를 입력 후 엔터 → 본문 입력 종료를 알림
8. quit 명령으로 종료
- auth 인증 테스트
- echo -ne “\\0mailsender\\0Mailsender123@” \| base64
- 위 명령어로 나온 base64 결과값 복사
- telnet localhost 25
- ehlo localhost
- auth plain AG1haWxzZW5kZXIATWFpbHNlbmRlcjEyM0A=
- Ok Authenticated 문구 출력되면 인증 성공
Leave a Reply