본투비 서비스를 깔아야 하는데… 뭘 깔아야 하지…?
남들과는 다른 걸 깔아보고 싶은데… 똑같은 걸 하면 낭만이 없잖아 낭만이!
개성과 멋, 낭만을 추구하는 당신을 위해 준비했습니다!
바로 바로 Sendmail!
가상 머신으로 평가자에게 메일 보내는게 찐간지라고요~~~
Sendmail이란?
간단 요약: 이름대로 메일을 보내줍니다
root 계정으로 진행하거나 sudo 명령어를 사용해주세요!
apt install sendmail sendmail-cf
service sendmail status
service sendmail start
Shell
복사
cp /etc/mail/sendmail.mc /etc/mail/sendmail.mc.original
diff /etc/mail/sendmail.mc.original /etc/mail/sendmail.mc
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
cp /etc/mail/sendmail.cf /etc/mail/sendmail.cf.original
Shell
복사
서비스 재시작
service sendmail restart
Shell
복사
telnet 설치
apt install telnet
Shell
복사
메일 발송
telnet localhost 25 # 메일 발송 시작 (telnet 명령어로 25번 포트에 접속 - 메일 서버는 25번 포트를 사용함)
helo localhost # helo는 메일 서버에 연결하기 위해 클라이언트의 도메인 이름을 알려주는 명령어
mail from: <현재 접속한 유저 이름>@localhost # 발신자
rcpt to: <이메일 주소> # 수신자
data # 메일 시작
subject: <메일 제목>
메일 본문
. # 메일 본문 종료
quit # 메일 발송 및 종료
Shell
복사
메일 로그 및 메일함 확인
# /var/log/mail.log
cat /var/log/mail.log | grep <메일 ID>
Shell
복사
아래 사진을 보면 잘 전송이 된 것을 볼 수 있습니다!
메일함에서도 확인 가능!
전송에 실패한 경우:
분명 아까와 같이 동일하게 보냈으나, 아래와 같이 뜹니다.
전송이 왜 실패했는지 알고 싶으면 아래의 파일을 열면 됩니다.
vi /var/mail/<메일을 전송한 유저ID>
Shell
복사
아래는 파일의 내용입니다. 밑줄 쳐진 부분을 보면, 스팸(…)으로 분류하고 차단했다는 의미입니다.
From MAILER-DAEMON Thu Sep 22 19:22:48 2022
Return-Path: <MAILER-DAEMON>
Received: from localhost (localhost)
by cheseo42 (8.15.2/8.15.2/Debian-14~deb10u1) id 28MAMmCi003042;
Thu, 22 Sep 2022 19:22:48 +0900
Date: Thu, 22 Sep 2022 19:22:48 +0900
From: Mail Delivery Subsystem <MAILER-DAEMON>
Message-Id: <202209221022.28MAMmCi003042@cheseo42>
To: root@cheseo42
MIME-Version: 1.0
Content-Type: multipart/report; report-type=delivery-status;
boundary="28MAMmCi003042.1663842168/cheseo42"
Subject: Returned mail: see transcript for details
Auto-Submitted: auto-generated (failure)
This is a MIME-encapsulated message
--28MAMmCi003042.1663842168/cheseo42
The original message was received at Thu, 22 Sep 2022 19:22:07 +0900
from localhost [127.0.0.1]
----- The following addresses had permanent fatal errors -----
메일주소@gmail.com
(reason: 550-5.7.26 This message does not pass authentication checks (SPF and DKIM both)
----- Transcript of session follows -----
... while talking to gmail-smtp-in.l.google.com.:
>>> DATA
<<< 550-5.7.26 This message does not pass authentication checks (SPF and DKIM both
<<< 550-5.7.26 do not pass). SPF check for [cheseo42] does not pass with ip:
<<< 550-5.7.26 [121.135.181.35].To best protect our users from spam, the message
<<< 550-5.7.26 has been blocked. Please visit
<<< 550-5.7.26 https://support.google.com/mail/answer/81126#authentication for more
<<< 550 5.7.26 information. me18-20020a17090b17d200b001fb35ed6fdesi6073649pjb.53 - gsmtp
554 5.0.0 Service unavailable
--28MAMmCi003042.1663842168/cheseo42
Content-Type: message/delivery-status
Reporting-MTA: dns; cheseo42
Received-From-MTA: DNS; localhost
Arrival-Date: Thu, 22 Sep 2022 19:22:07 +0900
Final-Recipient: RFC822; 메일주소@gmail.com
Action: failed
Status: 5.7.26
Remote-MTA: DNS; gmail-smtp-in.l.google.com
Diagnostic-Code: SMTP; 550-5.7.26 This message does not pass authentication checks (SPF and DKIM both
Last-Attempt-Date: Thu, 22 Sep 2022 19:22:48 +0900
--28MAMmCi003042.1663842168/cheseo42
Content-Type: text/rfc822-headers
Return-Path: <root@cheseo42>
Received: from localhost (localhost [127.0.0.1])
by cheseo42 (8.15.2/8.15.2/Debian-14~deb10u1) with SMTP id 28MALPCi003039
for 메일주소@gmail.com; Thu, 22 Sep 2022 19:22:07 +0900
Date: Thu, 22 Sep 2022 19:21:25 +0900
From: root <root@cheseo42>
Message-Id: <202209221022.28MALPCi003039@cheseo42>
subject: hello hello!
--28MAMmCi003042.1663842168/cheseo42--
Shell
복사
메일 발송이 성공했을 경우도 볼 수 있습니다!
다만 이건 같은 가상 머신 내 하나의 유저에서 다른 유저로 메일 보냈을 경우에만 보여줍니다. (ex: user cheseo가 root에게 메일을 보낸 경우) 왜 그런지는 모르겠으나, gmail로 메일을 발송한 경우 2번째 사진처럼 보여주지 않습니다. (/var/mail/userID 는 메일함 역할도 해서 gmail은 gmail만의 메일함이 있으니 안 보여주는 것 같습니다.)
예상 질문
1.
Gmail이나 네이버 메일로는 발송 못 하나요?
•
수상한 도메인여서 그런가 메일 서비스들이 스팸으로 판단하고 메일을 차단합니다…ㅠ
•
그래서 intraID@student.42seoul.kr 이 이메일로 우회해서 보내는 것을 추천합니다!
2.
Debian만 가능한가요?
•
CentOS도 가능! 다만 이 글은 debian 기준으로 작성되었습니다.
3.
Sendmail도 서비스 맞나요?
•
systemctl status 명령어로 쳤을 때, 서비스로 나옵니다.
born2beroot 빨리 탈출하세요