발신 이메일 전용 경량 SMTP로 무엇을 사용하고 있습니까?
가끔 이벤트가 발생할 때 SMTP를 통해 이메일을 보내는 애플리케이션을 실행하고 있으며 모든 기능을 갖춘 이메일 서버가 필요하지 않습니다.
편집: 그것이 최선의 선택이라면 postfix와 같은 것을 사용하게 되어 매우 기쁩니다. 나는 즉시 사용할 수 있는 더 간단한 것이 있을 것이라고 생각합니다.
답변1
몇 가지 최소 릴레이 전용 메일 전송 에이전트(MTA 또는 "메일 서버") 옵션이 있으며 그 중 일부는 다른 답변에서 언급되었습니다.
- 메일 전송 프로토콜http://msmtp.sourceforge.net/
- 빈 우편물http://untroubled.org/nullmailer/(제가 개인적으로 좋아하는)
- esmtphttp://esmtp.sourceforge.net/(유지되지 않음)
- sSMTPhttp://packages.debian.org/source/sid/ssmtp(더 이상 적극적으로 개발되지 않음)
이들 중 하나가 작동하려면 메일을 추가로 전달할 수 있는 완전한 MTA("메시지 센터"라고 함)가 필요하며 이 메시지 센터를 제어하는 것이 좋습니다. 그렇지 않으면 Bad Things™가 발생할 수 있습니다.
답변2
IMHO 가장 쉬운 방법은 postfix를 사용하는 것입니다. 다음 명령을 사용하여 이를 광 출력 릴레이로 구성할 수 있습니다.
postconf -e relayhost=other.mailserver.com
postconf -e myorigin=my.domainname.com
relayhost
에 지정된 SMTP 서버가 인증을 요구하지 않거나, 중계를 허용하거나, 수신자 주소의 유효한 대상인 경우에만 사용할 수 있습니다.
이 myorigin
매개변수는 기본 도메인 이름이 됩니다. 따라서 foo에 메일을 보내면 다음으로 전송됩니다.[이메일 보호됨]. 사용자 표시줄에서 보낸 이메일은 다음에서 전송됩니다.[이메일 보호됨].
실제로 인증이 필요하고 TLS를 지원하려는 경우 다음 명령을 실행할 수도 있습니다.
postconf -e smtp_tls_security_level=may
postconf -e smtp_sasl_auth_enable=yes
postconf -e smtp_sasl_password_maps=pcre:/etc/postfix/sasl_password_maps
그러면 /etc/postfix/sasl_password_maps
다음과 같은 것이 있습니다.
/./ username:password
모든 메일은 지정된 사용자 이름과 비밀번호를 사용하여 릴레이 호스트로 전송됩니다.
답변3
sendmail(8)과 같이 쉘에서 실행할 수 있는 프로그램이 필요하다고 가정하면,메일 전송 프로토콜귀하의 요구 사항을 충족합니까? 원격 SMTP 서버에 연결하고 sendmail과 마찬가지로 수신된 메일을 stdin으로 제출할 수 있습니다.
답변4
sSMTP가 귀하의 요구 사항에 적합하다는 것을 알 수 있습니다. 이것을 읽어보세요기사그것과 그 한계에 대해.
솔직히 말해서 단지 이메일을 보내기 위한 것일지라도 postfix나 exim 설치에 대해 크게 강조하지는 않을 것입니다.