1. Sendmail 설치
먼저, 아래 명령어를 통해 sendmail과 관련 패키지를 설치한다.
apt-get install sendmail sendmail-cf
설치 도중 "Creating SSL certificates for sendmail." 단계에서 설치가 멈춘다면, Ctrl+C로 설치를 중단한 뒤 아래 명령어를 실행한다.
cd /etc/mail/tls
sudo openssl dsaparam -out sendmail-common.prm 2048
sudo chown root:smmsp sendmail-common.prm
sudo chmod 0640 sendmail-common.prm
sudo dpkg --configure -a
https://askubuntu.com/questions/937666/ubuntu-16-04-command-line-sendmail-installation-hanged
위 명령어를 실행한 후 다시 설치를 시도하면, "Updating /etc/mail/aliases..." 단계에서 약간의 시간이 걸리지만 설치가 완료된다.
2. Sendmail 설정 파일 수정
설치가 완료되었으면, 외부에서 sendmail을 이용해 메일을 발신하려면 설정 파일을 수정해야 한다.
vi /etc/mail/sendmail.mc
다음과 같이 기존 설정을 변경한다:
DAEMON_OPTIONS(`Family=inet, Name=MTA-v4, Port=smtp, Addr=127.0.0.1')dnl
DAEMON_OPTIONS(`Family=inet, Name=MSP-v4, Port=submission, M=Ea, Addr=127.0.0.1')dnl
이 부분을 아래와 같이 수정한다:
DAEMON_OPTIONS(`Family=inet, Name=MTA-v4, Port=smtp, Addr=0.0.0.0')dnl
DAEMON_OPTIONS(`Family=inet, Name=MSP-v4, Port=submission, M=Ea, Addr=0.0.0.0')dnl
수정 후에는 m4 명령어를 사용해 sendmail.cf 파일을 생성한다:
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
3. hosts 파일 수정
hosts 파일에서 도메인을 추가한다:
vi /etc/hosts
필요한 도메인 정보를 추가해준다.
4. Sendmail 재시작
설정이 완료되었으면 sendmail을 재시작한다. 동작 상태와 에러 메시지를 확인하려면 status 명령어를 사용한다.
service sendmail restart
service sendmail status
5. 메일 발송 테스트
sendmail이 정상적으로 실행되었다면, telnet을 통해 테스트 메일을 발송할 수 있다:
telnet 127.0.0.1 25
helo localhost
mail from: test@localhostdomain
rcpt to: test@gmail.com
data
subject: Test Mail Send
hello, world!
sendmail
.
6. 메일 확인
메일 수신자의 메일함을 확인하면, 정상적으로 메일이 발송된 것을 확인할 수 있다. 단, 스팸메일 처리 된다.
해당 글에서 다루진 않지만 스팸메일로 처리되고 싶지 않으면 SPF, DMARC, DKIM 등의 설정을 따로 해주어야 한다.
'Raspberry Pi' 카테고리의 다른 글
Raspberry Pi 3 안전하게 종료하기 (0) | 2023.04.17 |
---|---|
Raspberry Pi 3 하드디스크 마운트 및 파일 서버 구축 (0) | 2022.05.27 |
Raspberry Pi 3로 WOL 패킷 전송 (5) | 2019.12.24 |
Raspberry Pi 3 SSL certificate 오류 (0) | 2019.01.08 |
Raspberry Pi 3 ssh 보안 키 접속 (1) | 2018.08.21 |