답변:
전통적으로 Unix mail
및 파생 상품 (및 기타 많은 Unix 도구) /usr/bin/sendmail
은 거의 모든 메일 전송 에이전트 (MTA – 접미사, exim, 택배 및 sendmail)가 제공 하는 인터페이스를 사용합니다 .
즉, mail
프로그램은 네트워크 프로토콜을 사용하지 않습니다. sendmail
stdin 을 통해 메시지를 전달하고 실제 전달을 처리 할 수 있습니다. (이것은 일부 메일이 SMTP를 사용하고 일부는 UUCP를 사용하고 일부는 BITNET을 사용하던 시절로 거슬러 올라갑니다 ...
를 통해 메시지가 대기열에 들어가면 sendmail
MTA는 SMTP 등을 통해 실제 메시지 전송을 처리합니다. 구성에 따라 대상 MTA에 직접 연결하거나 다른 호스트 (스마트 호스트라고도 함)를 통해 메일을 릴레이 할 수 있습니다.
서버에서 직접 연결이 더 일반적입니다. 스마트 호스트를 통한 릴레이는 홈 연결의 개인용 컴퓨터에서 더 일반적입니다. 블랭킷 "동적 IP"안티 스팸 필터를 방지하려면 Gmail 또는 ISP / 회사 이메일 계정을 통한 릴레이가 필수적입니다.
(일부 MTA와 같이 esmtp
또는 nullmailer
가정용 사용자를 위해 특별히 제작되었으며 항상 릴레이 호스트를 사용합니다. 메일 수신을 지원하지 않으며 리소스가 훨씬 가볍습니다.)
mailx → [/ usr / bin / sendmail] → 로컬 MTA 대기열 → [SMTP] → 수신자 MTA → 수신자받은 편지함
mailx → [/ usr / bin / sendmail] → 로컬 MTA 대기열 → [SMTP] → Gmail 또는 ISP / 작업 서버 → [SMTP] → 수신자 MTA → 수신자 수신함
Thunderbird 또는 Outlook과 같은 사용자에게 친숙한 그래픽 클라이언트와 같은 다른 프로그램은 항상 릴레이 / 스마트 호스트 SMTP 서버 (일반적으로 Gmail 또는 ISP / 회사 SMTP 서버)에 직접 연결되어 사용자 대신 메시지를 전송합니다.
기본 SMTP 지원은 heirloom-mailx
기존에는 없지만 기존에는 지원 되지 않습니다 bsd-mailx
.
앱 → [SMTP] → Gmail 또는 ISP / 회사 서버 → [SMTP] → 수신자 MTA → 수신자받은 편지함
세 번째 방법 - 수신자의 서버에 직접 연결은 - 거의되어 결코 사용하지 않고 MUA는 지원하지 않습니다. 개인용 컴퓨터에서는이 메시지를 사용하면 메시지가 거부됩니다 (감염된 홈 사용자 IP 주소에서 많은 스팸이 전송 됨).
앱 → [SMTP] → 수신자 MTA → 스팸 필터에 의해 포착
mailx
사용하지 않기 때문이다 . 내 답변 상단에 설명 된대로 MTA를 사용합니다. 그리고 다시 한 번, 회사 인터넷에 연결되어 있지 않으면 PC에서 직접 전송 된 (릴레이없이) 메일이 삭제 될 가능성이 높습니다.
mailx는 SMTP를 사용할 수 있습니다. 구성 파일은 ~ / .mailrc입니다.
한 가지 예는 Gmail의 SMTP를 사용하는 mailx 입니다.
구성은 하나의 명령으로도 가능합니다.
mailx -v -s "$EMAIL_SUBJECT" \
-S smtp-use-starttls \
-S ssl-verify=ignore \
-S smtp-auth=login \
-S smtp=smtp://smtp.gmail.com:587 \
-S from="$FROM_EMAIL_ADDRESS($FRIENDLY_NAME)" \
-S smtp-auth-user=$FROM_EMAIL_ADDRESS \
-S smtp-auth-password=$EMAIL_ACCOUNT_PASSWORD \
-S ssl-verify=ignore \
-S nss-config-dir=~/.mozilla/firefox/xxxxxxxx.default/ \
$TO_EMAIL_ADDRESS
일반 SMTP 서버를 사용하는 경우 훨씬 쉽습니다 (자세한 소개는 여기 참조 ).
mailx -v -s "$EMAIL_SUBJECT" \
-S smtp=smtp://smtp.example.com
-S from="$FROM_EMAIL_ADDRESS($FRIENDLY_NAME)" \
$TO_EMAIL_ADDRESS
이것들을 mailx의 설정 파일 ~ / .mailrc에 넣을 수도 있습니다
로부터 mailx(1)
man 페이지, 설명의 섹션 문자열 옵션 조항 :
smtp Normally, mailx invokes sendmail(8) directly to transfer
messages. If the smtp variable is set, a SMTP connection
to the server specified by the value of this variable is
used instead.
sendmail
이 옵션이 설정되어 있지 않으면 사용합니다 .
sendmail / postix와 같은 로컬 mta가없는 대안이 있습니다.
데비안 패키지 ssmtp
rpm 설명 정보 :
Summary : Extremely simple MTA to get mail off the system to a Mailhub
URL : http://packages.debian.org/stable/mail/ssmtp
License : GPLv2+
Description : A secure, effective and simple way of getting mail off a system to your mail
: hub. It contains no suid-binaries or other dangerous things - no mail spool
: to poke around in, and no daemons running in the background. Mail is simply
: forwarded to the configured mailhost. Extremely easy configuration.
hth
스테판 케이