터미널을 사용하여 이메일 보내기

터미널을 사용하여 이메일 보내기

그래서 저는 Linux Mint 20.1을 사용하고 있으며 명령줄을 사용하여 메일을 보내려고 합니다. 정확하게 말하면 먼저 mail 명령을 사용해 보았습니다.

mail -s "someSubject" "[email protected]" < fileToSend.txt

그러나 이것은 전혀 작동하지 않습니다. 명령을 실행하는 대신 %gt(>)가 있는 터미널을 얻습니다. 내가 아는 한 이것은 내 명령이 불완전하다는 것을 의미합니다. 검색해 보니 EOF만 입력하면 되는 것 같았는데 "새 터미널"이 아직 남아 있어서 작동하지 않았습니다. /var/log/mail.log를 살펴보았지만 거기에서 아무것도 찾을 수 없습니다.

다음으로 시도한 것은 sendmail 명령이었습니다.

sendmail [email protected] < fileToSend.txt

이 작업은 제대로 수행되었지만(오류나 기타 문제 없음) 여전히 이메일을 받을 수 없어 로그 파일을 다시 확인해야 했습니다. 이번에는 다음과 같이 말했습니다.

gmail-smtp-in.l.google.com(corresponding IPv4 address and port was here): Connection timed out

그리고

alt1.gmail-smtp-in.l.google.com(corresponding IPv6 address and port was here): Network is unreachable

기본 게이트웨이를 확인했는데 해당 주소가 라우터의 로컬 주소와 일치하므로 문제가 없습니다.

위에서 언급한 IPV4 주소로 ping을 시도하면 제대로 작동합니다. 그러나 위에서 언급한 IPv6 주소로 ping을 시도하면 다음과 같습니다.

ping6 -c 4 -I wlp3s0 (IPv6 address here)

접근이 불가능하다고 하네요.

이에 대한 도움을 주시면 대단히 감사하겠습니다!

답변1

일반적으로 ISP는 포트 25(아웃바운드)를 차단합니다. 다음을 사용하여 이를 테스트할 수 있습니다 telnet.

$ telnet gmail-smtp-in.l.google.com 25

성공적인 연결은 다음과 같습니다.

Trying 74.125.68.26...
Connected to gmail-smtp-in.l.google.com.
Escape character is '^]'.
220 mx.google.com ESMTP y22si1641751pll.208 - gsmtp

포트 25가 차단되면 다음이 표시됩니다.

Trying 2607:f8b0:400e:c06::1a...
Trying 74.125.195.27...
telnet: Unable to connect to remote host: Connection timed out

포트 25가 차단된 경우 ISP에 문의하거나 다음을 사용해야 합니다.SMTP 릴레이(저는 mailjet.com을 사용합니다.)

ISP는 스팸 전송을 시작하면(또는 스팸 전송 바이러스에 감염되면) IP 주소가 블랙리스트에 포함될 수 있으므로 포트 25를 차단하는 경우가 많습니다. 경우에 따라 전체 IP 블록이 블랙리스트에 포함될 수 있습니다. ISP는 자신의 IP 블록이 이메일 블랙리스트에 표시되는 것을 원하지 않으므로 사용자가 포트 25에서 이메일을 보내는 것을 제한합니다.


차단되지 않은 경우 구성에 문제가 있을 수 있습니다. 이것은 완전한 가이드가 필요한 더 긴 주제입니다. 나는 사용했다기본-포스트픽스-메일서버-우분투 설치성공적으로.

관련 정보