Mandoo’s WLAN story

[Linux/ubuntu] smtp를 이용해 메일보내기 본문

Mandoo's IT Story/Linux

[Linux/ubuntu] smtp를 이용해 메일보내기

mandoo12 2021. 12. 30. 14:55

1. sendmail 서비스 설치

sudo apt-get install sendmail sendmail-cf //sendmail 서비스 설치

 

2. sendmail 설정을 변경하기 위해 잠시 종료시킨다.
sudo systemctl stop sendmail

 

3. sendmail의 원래 설정파일들을 만약을 대비해 백업해둔다.
sudo cp /etc/mail/sendmail.mc /etc/mail/sendmail.mc.org
sudo mv /etc/mail/sendmail.cf /etc/mail/sendmail.cf.org 

 

4. 외부와 메일을 주고받기 위해서 smtp와 submission의 DAEMON_OPTIONS에서 Addr을 0.0.0.0으로 설정한다.
sudo vi /etc/mail/sendmail.mc

기존 설정
변경한 설정

 


5. 변경한 설정을 적용해 sendmail.cf 파일 재생성한다.
sudo m4 /etc/mail/sendmail.mc > ./sendmail.cf  

 

6. root계정이 아닌 일반계정으로 메일을 보내면 권한 에러가 뜰 수 있으니 아래와 같이 권한 설정을 해준다.
sudo chown root:smmsp /etc/mail/sendmail.cf
 

7. sendmail.cf 위치 이동
sudo mv ./sendmail.cf /etc/mail

 

8. 메일 내용을 파일로 생성
echo -e "test mail hahahahaha" > text

 

9. sendmail 서비스 시작

sudo systemctl start sendmail

 

10. 메일 전송
sendmail user@example.com < content //메일 전송

11. sendmail을 이용해 발송한 메일은 일부 메일서비스에서는 수신되지 않는 것 같다.

네이버랑 지메일로 테스트를 해봤는데, 네이버는 스팸함에서도 보이지 않고, 지메일은 스팸함에서 확인이 가능하다.

 

12. 만약 메일이 발송되지 않는다면 sendmail의 상태를 확인해보자.

에러 내용을 캡처해놓지 못했으나 아마도 using short name 관련한 에러가 보일 것이다.

잠시 sendmail 서비스를 중단하고 아래와 같이 수정해보자

sudo vi /etc/hosts

위와 같이 현재 내가 사용중이 VM 이름뒤에 localhost.localdomain localhost를 입력해서 메일형식으로 설정해주어야 한다.

 

13. 수정이 완료되었다면 sendmail을 다시 시작해보자

sudo systemctl start sendmail