Amazon SES를 서버에서 메일을 보내는 기본 방법으로 만들려면 어떻게해야합니까?


14

서버의 모든 이메일에 Amazon SES를 사용하고 싶습니다. 우리는 PHP 호스팅을 갖춘 프리랜서 디자이너, Django / Python 웹 앱 및 이메일을 보내는 일부 시스템 유틸리티를 보유하고 있습니다.

그래서 PHP의 메일 기능, 커맨드 라인 메일 명령 및 파이썬 앱이 모두 자신의 방식으로 설정하지 않아도 사용할 수 있기를 원합니다.

내가 필요한 것은 Postfix와 같은 것을 localhost에서 실행하고 SES를 사용하여 전달하는 것이지만 그렇게하는 방법을 모르겠습니다.

Amazon의 문서에 따르면 ses-send-email.pl 스크립트를 호출하도록 MTA (Mail Transfer Agent)를 설정해야합니다. 스크립트가 있지만 이것을 달성하는 방법을 잘 모르겠습니다.

내가 올바른 길을 가고 있습니까? 그렇다면 Postfix가 해당 스크립트를 사용하도록 구성하려면 어떻게해야합니까?

답변:



14

다음은 SES 개발자 안내서 에서 복사 한 항목입니다 .

ses-send-email.pl을 Postfix와 통합하려면

  1. master.cf 파일을 엽니 다. 많은 시스템에서이 파일은 /etc/postfix디렉토리에 있습니다.
  2. 다음 두 줄을 master.cf파일 에 추가 한 다음 파일을 저장하여 새 메일 전송을 구성 하십시오.

    aws-email  unix  -       n       n       -       -       pipe
      flags=R user=mailuser argv=/opt/third-party/amazon/ses-send-email.pl -r -k /opt/third-party/amazon/aws-credentials -e https://email.us-east-1.amazonaws.com -f ${sender} ${recipient}
    

이 예제에 대해 다음을 참고하십시오.

  • 플래그 행은 하나 이상의 공백 문자로 시작합니다.
  • user 매개 변수는 비 루트 사용자 (즉, 비 관리 사용자)를 지정해야합니다. 사용자 mailuser는 단지 설명을위한 것입니다.
  • ses-send-email.pl스크립트는 / opt / 타사 / 아마존 디렉토리의 자격 증명 파일 존재합니다.
  • Amazon SES와 통신하기위한 엔드 포인트는 https://email.us-east-1.amazonaws.com입니다.

이 매개 변수를 적절하게 수정해야합니다.

  1. master.cf와 같은 디렉토리에서 main.cf 파일을 열고 다음과 같이 수정하십시오.

    1. default_transport 행을 찾으십시오.

      • 존재하는 경우 다음과 같이 변경하십시오.

        default_transport = aws-email
        
      • 존재하지 않으면 이전 내용으로 새 줄을 추가하십시오.

    2. 완료되면 main.cf 파일을 저장하십시오.
  2. Postfix 서버를 다시 시작하십시오.

    /etc/init.d/postfix restart
    

이 명령은 특정 서버에서 정확히 동일하지 않을 수 있습니다. 이 시점부터 발신 전자 메일은 Amazon SES를 통해 전송됩니다. Postfix 서버를 통해 전자 메일 메시지를 전송 한 다음 대상에 도착했는지 확인하여이를 테스트 할 수 있습니다. 메시지가 전달되지 않으면 시스템 메일 로그에 오류가 있는지 확인하십시오. 많은 시스템에서 이것은/var/log/mail.log

-나는 최근에 Amazon Cloud와 SES에서 시도한 모든 것을 종합하여 간단한 블로그를 만들었습니다. 링크는 다음과 같습니다. http://netwiser.blogspot.com/2011/02/setup-amazon-ses-to-relay-email-by.html


정말 고마워 이것은 postfix를 구성하는 것이 내 문제를 해결하는 올바른 방법이라는 것을 의미합니다. 나는 이것을 시도하고 당신의 대답을 곧 받아 들일 것입니다.
Jake

1

서버에서 Python / Django 앱을 호스팅하고 있으므로 Postfix를 Python에 상응하는 AWS Perl 스크립트에 연결하는 것이 좋습니다. 이 안내서에는 다음과 같은 세부 정보가 있습니다.

http://aws.amazon.com/articles/2405502737055650

또는 Perl 스크립트를 사용하고 싶지만 CPAN 모듈이 오래되었다는 것을 알게 된 경우 운영 체제의 패키지 관리자를 통해 종속성을 설치하는 것이 더 쉬운 방법 일 수 있습니다. 예를 들어, 우분투에서는 다음과 같이 할 수 있습니다.

sudo apt-get install libio-socket-ssl-perl libxml-libxml-perl
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.