3

delbian linux でメールを送信する必要があります。どのように送信します?サーバーを 256 MB の Linux ボックスで実行していますが、postfix と sendmail はやり過ぎだと聞きました。

最近、実行可能ファイルのように見えるssmtpに出くわしました。プロセスとして実行し、osモジュールを使用してpythonから呼び出す必要があります。

別の方法として、python はすでに smtplib を提供していますが、これは問題なく動作しています。

Python の smtplib よりも ssmtp を使用する利点は何ですか?

4

3 に答える 3

5

Python プログラムでは、利点はありません。

ssmtp の唯一の目的は、sendmail API で SMTP プロトコルをラップすることです。つまり/usr/sbin/sendmail、本格的な sendmail と同じオプション、引数、および入力を受け入れるプログラムを提供します (ほとんどのオプションは何もしませんが)。しかし、舞台裏では、電子メール自体を処理する代わりに、メッセージを SMTP サーバーに送信します。これは、おそらくSMTPを理解していないために、プログラムを存在させる必要があるシステム向けですsendmail。たとえば、古いバージョンのPHPにはこの要件があったと思います。最近のバージョンでも、PHPを設定して使用する方が簡単かもしれません. sendmailSMTP を直接使用するよりも、いわゆる sendmail インターフェイス (つまり、プログラム) を使用する必要があります。(しばらくPHPを使っていないので、現状はわかりません)

ただし、Python では状況が逆になります。SMTP を直接簡単に使用できるようにする組み込みライブラリがありますが、使用sendmailするにはモジュールを呼び出す必要がありますが、subprocessこれはやや扱いにくく、Python の一部ではないものに大きく依存しています。したがって、基本的に使用しない理由はありませんsmtplib

于 2009-04-19T08:03:55.413 に答える
2

さらに、postfixは「サテライト」モードでのインストールが非常に簡単です。このモードでは、メールをキューに入れ、配信するだけです。独自のメール キューを実装するよりもはるかに簡単です。ほとんどの適切なパッケージ管理システムでは、この方法で構成できます。

于 2009-04-19T23:42:01.383 に答える
1

msmtpなど、他の軽量 SMTP 送信者があり、私が好むものです。

しかし、Postfix は 256 Mb のマシンには問題ありません。Postfix のような完全な MTA の良いところは、メッセージを保持し、宛先サーバーがダウンした場合に再試行することです。smtplib とリモート マシン上のサーバーを使用すると、プログラムはネットワークに依存するようになります...

于 2009-04-20T12:22:44.533 に答える