발신 전자 우편의 경량 SMTP로 무엇을 사용합니까?
이벤트가 가끔 발생하면 SMTP를 통해 전자 메일을 보내는 앱을 실행 중이며 완전한 기능을 갖춘 전자 메일 서버가 필요하지 않습니다.
편집 : 나는 그것이 최선의 선택이라면 postfix (및 할)와 같은 것을 사용하게되어 기쁩니다. 나는 훨씬 더 간단한 것이있을 것이라고 생각했습니다.
발신 전자 우편의 경량 SMTP로 무엇을 사용합니까?
이벤트가 가끔 발생하면 SMTP를 통해 전자 메일을 보내는 앱을 실행 중이며 완전한 기능을 갖춘 전자 메일 서버가 필요하지 않습니다.
편집 : 나는 그것이 최선의 선택이라면 postfix (및 할)와 같은 것을 사용하게되어 기쁩니다. 나는 훨씬 더 간단한 것이있을 것이라고 생각했습니다.
답변:
최소한의 릴레이 전용 메일 전송 에이전트 (MTA 또는 "메일 서버")를 선택할 수 있으며 그 중 일부는 다른 답변에서 언급되었습니다.
둘 중 하나가 작동하려면 메시지를 추가로 릴레이 할 수있는 본격적인 MTA가 필요하며 ( "메일 허브"라고 함)이 메일 허브를 제어하는 것이 좋습니다. 그렇지 않으면 Bad Things ™가 발생할 수 있습니다.
가장 쉬운 방법은 postfix를 사용하는 것입니다. 다음 명령을 사용하여 발신 릴레이로 구성 할 수 있습니다.
postconf -e relayhost=other.mailserver.com
postconf -e myorigin=my.domainname.com
에 지정된 SMTP 서버에 relayhost
인증이 필요하지 않은 한 릴레이 할 수 있거나 수신자 주소의 유효한 대상이됩니다.
이 myorigin
매개 변수는 기본 도메인 이름이됩니다. 따라서 foo로 메일을 보내면 foo@my.domainname.com으로 이동합니다. 사용자 표시 줄이 보낸 메일은 bar@my.domainname.com에서 발송됩니다.
인증이 필요하고 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
모든 메일은 지정된 사용자 이름과 비밀번호를 사용하여 릴레이 호스트로 전송됩니다.
relayhost=other.mailserver.com:465
후 smtp_tls_wrappermode=yes
하고 smtp_tls_security_level=encrypt
있지만 정식으로 로컬 사용자를 사용하려고 시도하는 것. 어떻게 든 인증 사용자를 다시 작성해야합니다.
sendmail (8)과 같은 쉘에서 실행할 수있는 프로그램이 필요하다고 가정하면 MSMTP 가 귀하의 요구에 적합 할 것입니까? 원격 SMTP 서버에 연결하여 sendmail과 마찬가지로 stdin으로받은 메일을 제출할 수 있습니다.
필요에 따라 sSMTP를 찾을 수 있습니다. 이 기사 와 그 한계에 대해 읽으십시오 .
솔직히 말해서 전자 메일을 보내는 경우에도 postfix 또는 exim을 설치하는 것에 너무 스트레스를받지 않습니다.
docker를 사용하는 경우 https://hub.docker.com/r/zixia/simple-mail-forwarder/ 는 전체 smtp (tls)를 지원하는 10MB 크기의 쉬운 배포에 적합한 선택입니다.
기술적으로 호스트에 전자 메일 서버가 필요하지 않습니다. 필요한 SMTP 전자 메일 서버는 회사 SMTP 서버에 연결할 수있는 smtp 클라이언트 (또는 MUA)입니다. .)
앱 (및 작성된 프로그래밍 언어)에 따라 앱이 네트워크의 'the'SMTP 서버에 연결하는 방법에는 여러 가지가 있습니다.
일반적으로 PHP 또는 Python에는 "SMTP"서버 (호스트 또는 네트워크의 다른 곳에있을 수 있음)를 지정하는 앱이있는 구성 파일이 있습니다. 네트워크에 이미 메일 서버가있는 경우 해당 서버에 구성.
다른 옵션이없는 경우 앱은 다음과 같이 처리 할 수있는 전자 메일 메시지를 표준 출력으로 생성 할 수 있습니다.
listoftargets = "me@example.com jab@example.com"echo "콘텐츠 테스트"| mail -s "테스트 주제"$ listoftargets
일부 시스템에는 전송 전용 메일 서버가 이미 있습니다.
샘 티
mail
하거나 sendmail
명명 하도록 설정되어 있습니다. 시스템 알림. 그게 요점이 아닌가? 다른 것에는 제약이 없습니다.