2

Linux サーバーから 1 回限りのメールを送信したいと考えています。サーバーはメールを受信する必要はありません。

送信メールのみを送信するための sendmail よりも簡単なソリューションはありますか?

Perl を使用してメールを送信したいと考えています。

4

7 に答える 7

3

/usr/lib/sendmail配信の問題を正しく処理するため、通常はに電話することをお勧めします。これは、 sendmailを使用するという意味ではありません。ほとんどの (すべて?) メール転送システムは、名前だけのコマンドを提供し、オリジナルと互換性のあるインターフェースを提供します。 sendmail

別の方法として、Net::SMTP のようなパッケージを使用して SMTP リレーを介して直接送信することもできますが、配信の問題を正しく処理するように特に注意してください。

于 2009-02-18T10:06:30.470 に答える
2

Sendmail だけが選択肢ではありません。Postfix、Qmail、および他の多くを使用できます

私の Perl スクリプトは mailx コマンドを呼び出します。使用方法を知るには、「man mailx」と入力します。ただし、これには MTA の正しい構成が必要です。

または、Net::SMTP perl ライブラリを使用して、選択した smtp サーバーを使用することもできます。

于 2009-02-18T10:07:58.517 に答える
2

msmtp を正常に使用しました。つまり、優れた認証をサポートしています。

TJ Luoma がTUAWで素晴らしい記事を書いています。

于 2009-02-18T17:51:05.177 に答える
1

説明したシナリオでは、nullmailer が非常に便利なソリューションだと思います。Nullmailer は、sendmail/qmail/etc の代替 MTA であり、固定された一連のメール サーバーにリレーします。構成が非常に簡単で、リソースをほとんど消費しません。

mstmp や ssmtp などの他の言及されたソリューションに対する nullmailer の重要な利点の 1 つは、送信される電子メールのキューを維持することです。メールを送信するアプリケーションは、メールがキューに入れられている間 (ミリ秒単位) だけブロックされます。メールの送信は、別のプロセスのコンテキストで発生します。mstmp や ssmtp などのソリューションは、電子メールのキューを維持しません。送信はアプリケーションのコンテキストで行われるため、アプリケーションがブロックされます。この方法でメールを送信すると、簡単に 1 ~ 2 秒以上かかることがあります。多くの場合、これは問題になりませんが、電子メールが Web アプリケーションによって送信された場合は問題になる可能性があります。

http://untroubled.org/nullmailer/

于 2010-11-21T09:24:46.103 に答える
0

組織内で別のメールサーバーが既に実行されている場合、送信を行うマシン上にメール転送エージェント (MTA) インスタンスは必要ありません: Perl に SMTP 経由でそのサーバーに電子メールを配信させることができるため、(別の) 「あなたの」マシン上の sendmail のような MTA。

于 2009-02-18T10:07:29.503 に答える
0

私は gmail またはその他の無料アカウントを作成し、J2EE で Java メール API を使用して (新しい gmail アカウントから) 誰にでもメッセージを送信するのが好きです。デフォルトのコンストラクターを指定してから send(String dest, String subj, String body[, Obj attach...if you want]) を指定し、場合によっては main メソッドでラップして、から呼び出すことができるようにすることができます。そうでなければ、いくつかのコマンドライン引数を指定するか、Java プログラム内から呼び出します。興味があれば、コードを撮影します。

于 2009-02-18T17:58:23.007 に答える
-1

あなたが perl と言ったのは知っていますが、私が使用した最も単純なクロスプラットフォームの電子メール送信ライブラリは python のsmtplibです。確かに一見の価値があります。

于 2009-02-18T10:05:25.060 に答える