메일을 ISP에 전달하기 위한 간단한 저장 및 전달 메커니즘으로 sendmail 데몬을 설정해야 합니다.
인증을 위해 SSL/TLS 및 사용자 이름/비밀번호를 사용하여 포트 465에서 ISP SMTP 서버에 연결해야 합니다. 이 특정 ISP(GoDaddy)는 STARTTLS를 지원하지 않고 일반 SSL/TLS만 지원합니다. 인터넷에 연결할 프록시가 없습니다.
제가 달성하고 싶은 것은 인터넷 연결이 끊어지거나 ISP가 끊어지는 등의 상황에서도 이메일을 받을 수 있는 항상 켜져 있는 내부 SMTP를 갖는 것입니다. 그러면 내부 SMTP 서버는 전자 메일 메시지가 외부 SMTP 서버로 배달될 수 있을 때까지 해당 메시지를 보류합니다. 또한 내부 SMTP 서버는 내부 네트워크로부터 암호화되지 않고 인증되지 않은 연결을 허용하도록 수신 측에서 구식 방식으로 설정할 수 있습니다. 이를 통해 이전 응용 프로그램은 내부 SMTP 서버를 통해서만 이 방식으로 이메일을 보낼 수 있습니다(우리 회사에는 이 작업을 수행하는 이전 Perl 응용 프로그램이 있습니다).
내가 사용하는 sendmail에는 기본적으로 다음과 같은 기능이 있습니다.
버전 8.14.5+Sun 컴파일: DNSMAP LDAPMAP 로그 MAP_REGEX MATCHGECOS MILTER MIME7TO8 MIME8TO7 NAMED_BIND NDBM NETINET NETINET6 NETUNIX NEWDB NIS 파이프 스캔 STARTTLS TCPWRAPPERS USERDB USE_LDAP_INIT XDebug
많은 블로그/메일링 리스트를 살펴봤지만 놀랍게도 내가 원하는 것을 찾을 수 없습니다. 지금쯤이면 내 사용 사례가 일반적일 것이라고 생각할 수도 있지만 그렇지 않습니다.
온라인에서 찾은 지침과 관련하여 발생한 문제는 다음과 같습니다.
그냥 평범한 오래된 것들이에요. 아무 문제가 없지만 많은 경우 "이것이 자신의 센드메일을 롤아웃하는 방법입니다." 또는 이와 유사한 것으로 시작합니다. 나는 (내가 사용하는 것과 같은) 현대적인 sendmail 구현이 잘 설치될 것이라고 믿습니다.
스마트 호스트를 설정하는 방법을 알려주지만 포트 25에서 암호화되지 않고 인증되지 않은 호스트에 연결한다고 가정합니다. 나는 수년 동안 외부에 노출된 SMTP 서버를 사용하여 이 작업을 수행한 사람이 없다고 생각합니다. 아마도 이와 같은 예는 현대에는 유효하지 않지만 어느 부분을 사용할 수 있는지 혼란스럽습니다.
sendmail 데몬의 수신자 측(들어오는 SMTP 연결)과 발신자 측(나가는 SMTP 연결)을 충분히 구별하지 못합니다. 나는 받는 쪽에는 별로 관심이 없다. 기본적으로는 localhost에서 들어오는 연결에만 열려 있는데 이는 괜찮습니다. 수신 측에서는 어떤 형태의 인증이나 암호화도 필요하지 않습니다. (sendmail 데몬을 보호하기 위해 약 12가지 방법을 사용하여 로컬 호스트, 특정 IP 범위 또는 이와 유사한 연결만 허용할 수 있습니다. 모든 방법을 알고 있으므로 걱정하지 마십시오.) 이것은 sendmail 데몬에만 해당됩니다.나가는SSL/TLS 및 사용자 이름/비밀번호를 사용하여 연결해야 합니다.
누구든지 올바른 방향으로 나를 가리킬 수 있습니까?
완료되면 전체 예제를 게시해 드리겠습니다.