2009-04-19 4 views
3

나는 delbian linux에서 이메일을 보내야합니다. 보내는 방법? 나는 256 MB 리눅스 박스에서 나의 서버를 돌리고 나는 postfix와 sendmail이 과잉이라고 들었다.python으로 메일을 보내는 방법 ssmtp와 smtplib

최근 ssmtp를 보았습니다. 실행 파일 인 것처럼 보입니다. osm 모듈을 사용하여 파이썬을 통해 호출되었습니다.

또는 파이썬은 이미 내게 잘 작동하는 smtplib을 제공합니다.

파이썬의 smtplib보다 ssmtp를 사용하면 어떤 점이 유리합니까?

답변

5

파이썬 프로그램에서는 이점이 없습니다.

ssmtp의 유일한 목적은 sendmail API에서 SMTP 프로토콜을 래핑하는 것입니다. 즉, 완전한 옵션 인 sendmail과 동일한 옵션, 인수 및 입력을 허용하는 프로그램 /usr/sbin/sendmail을 제공합니다 (대부분의 옵션은 아무 것도하지 않지만). 하지만 이메일 자체를 처리하는 대신 SMTP 서버에 메시지를 보냅니다. 이것은 sendmail 프로그램이 필요한 시스템을위한 것입니다. 아마도 SMTP를 이해할 수 없기 때문일 것입니다. 예를 들어 이전 버전의 PHP는이 요구 사항을 가지고 있다고 생각합니다. 최근 버전에서도 PHP를 사용하도록 설정하는 것이 더 쉬울 수도 있습니다 소위 센드 메일 인터페이스 (예 : 프로그램 sendmail)를 SMTP를 직접 사용하는 것보다. (잠시 후에 PHP를 사용하지 않았지만 현재 상태에 대해 잘 모르겠습니다.)

그러나 파이썬에서는 상황이 바뀌 었습니다. SMTP를 직접 사용하기 쉬운 라이브러리가 내장되어있는 반면 sendmail을 사용하면 subprocess 모듈을 호출해야합니다.이 모듈은 다소 복잡하고 파이썬에 포함되지 않은 모듈에 크게 의존합니다. 그래서 기본적으로 smtplib을 사용하지 않을 이유가 없습니다.

+1

좋은 정보. 고마워. – Krish

+0

ssmtp를 사용하면 계정 자격 증명을 숨길 수 있으며 앱에서 메일을 보낼 때 수행 할 수있는 작업을 제한 할 수 있습니다. 내가 놓친 게 있니? – kberg

2

또한 접미사은 "위성"모드로 설치하기가 쉽습니다.이 모드는 대기열이며 이메일을 전송합니다. 자신의 이메일 대기열을 구현하는 것보다 쉬운 방법입니다. 대부분의 알맞은 패키지 관리 시스템을 사용하면이 방법으로 구성 할 수 있습니다.

1

내가 선호하는 msmtp과 같은 다른 간단한 SMTP 발신자가 있습니다.

하지만 Postfix는 256Mb 컴퓨터에서 사용할 수 있습니다. Postfix와 같은 전체 MTA에 대한 좋은 점은 대상 서버가 다운되면 메시지를 유지하고 재 시도한다는 것입니다. smtplib과 원격 시스템에있는 서버를 사용하면 이제 프로그램은 네트워크에 달려 있습니다 ...

관련 문제