Linux에 smtp 서버를 설치하려면 어떤 전략을 사용해야 합니까? 멀티스레드 서비스의 경우

Linux에 smtp 서버를 설치하려면 어떤 전략을 사용해야 합니까? 멀티스레드 서비스의 경우

안녕하세요 여러분 이메일을 통해 사용자에게 미리 알림을 보내는 서비스를 구현해야 합니다. 이는 멀티스레드 예약 시스템이어야 합니다. 이 부분은 괜찮습니다. 하지만 서버에서 이메일을 보내기 위해 smtp 서버를 설치하고 구성해야 합니다. 어떻게 해야 할지 모르겠습니다. 해야 할 일과 내 도구는 일부 Linux(우분투) 슬라이스의 램프 콤보가 될 것으로 예상됩니다.

답변1

소프트웨어 설치에 권장되는 배포 방법이 있으므로 설치는 배포에 따라 매우 다릅니다. 요즘에는 Linux 배포판에서 소스별로 Postfix를 설치하도록 권장하는 경우가 매우 드뭅니다.

우분투에서는 apt-get을 사용하세요.

$ sudo apt-get install postfix

그러면 Ubuntu 서버에 postfix가 설치되고 이후 구성은 사용자에게 맡겨집니다. 내 조언은 메일을 sendmail 바이너리(보통 /usr/sbin/sendmail에 있음)로 파이프하여 Postfix 시스템이 다운된 경우 메일을 대기열에 보관하는 것입니다. SMTP를 사용하고 포트 25에 연결하는 경우 일부 유지 관리를 위해 메일 서버를 중단해야 하는 경우 애플리케이션은 자체 메일 대기열을 보유해야 하며 그렇지 않으면 메일이 배달되지 않을 위험이 있습니다.

답변2

다음 지침에 따라 Postfix를 설치합니다.Postfix.org

답변3

exim4를 설치할 수도 있습니다. 어려운 설정은 더 복잡하지만(데비안의 해커로 인해) 메일 전달 설정은 훨씬 쉽습니다. apt-get으로 exim4를 설치하고 필요한 경우 dpkg-reconfigure exim4-config를 수행하면 됩니다.

답변4

이전에 소스에서 코드를 빌드/컴파일한 적이 있다면 Postfix는 소스 코드에서 시작하는 것이 그리 어렵지 않습니다.

우리는 mailx를 사용하여 이메일을 아웃바운드로 보내고 mailx는 실제 중계 지점을 위해 postfix SMTP 서버와 통신합니다.

또한 Postfix 서버가 실행되면 다른 외부 서버가 이메일 릴레이를 위해 이를 참조할 수 있습니다.

우리는 Linux 배포판(Pozix Linux)에서 Postfix를 빌드하기 위해 스크립트된 빌드 프로세스를 사용합니다.

다음은 Postfix make 파일을 빌드하는 데 사용하는 명령입니다.

Makefiles 'CCARGS=-DHAS_PGSQL -DUSE_TLS -I/usr/local/pgsql-8.2.13/include -DUSE_CYRUS_SASL -DUSE_SASL_AUTH -I/usr/include/sasl -I/usr/local/BerkeleyDB/include' 'AUXLIBS=- L/usr/local/lib -L/usr/local/pgsql-8.2.13/lib -L/usr/local/BerkeleyDB/lib -lpq -lsasl2 -lz -lm -lssl -lcrypto -lpthread'

이를 필요에 맞게 조정할 수 있습니다. PostgreSQL을 사용하므로 다음과 같습니다: -L/usr/local/pgsql-8.2.13/lib -lpq

PostgreSQL 지원이 필요하지 않으면 이를 제거할 수 있습니다. SASL 및 TLS의 경우에도 마찬가지입니다.

이 명령이 실행된 후,

make install(새 설치용) make Upgrade(이전 버전 업그레이드용)

mailx가 작동하려면 일반적으로 스크립트를 루트로 호출하는 CRON 작업이 있습니다.

그러면 스크립트는 mailx를 호출합니다.

MAILX는 환경 변수를 읽는 데 .rc 파일을 사용하며, 루트 사용자로 mailx를 호출하므로 루트의 홈 디렉터리에 '.mailrc'라는 파일을 넣어야 합니다.

.mailrc의 내용은 다음과 같습니다.

세트[이메일 보호됨] smtp=mail.mydomain.com 설정[이메일 보호됨] smtp-auth-password=alertspassword 설정 smtp-auth=로그인 설정

그런 다음 스크립트에서 다음과 같이 mailx를 호출합니다.

echo "테스트 메시지" | 메일x "[이메일 보호됨] [이메일 보호됨]" -s "이메일 제목" "이메일 본문"

아니면 이렇게 할 수도 있습니다:

mailx -s "제목" -a /path/to/some/file[이메일 보호됨]

여기서 -a를 사용하면 파일을 첨부할 수 있고 test.msg는 이메일 본문으로 읽을 수 있는 외부 파일입니다.

또는 첫 번째 파일 첨부와 유사한 다른 방법은 다음과 같습니다.

echo "메시지 본문" | mailx -s "제목" -a /path/to/some/file[이메일 보호됨]

관련 정보