LinuxにSMTPサーバーをインストールするにはどのような戦略を使用すればよいですか?マルチスレッドサービスの場合

LinuxにSMTPサーバーをインストールするにはどのような戦略を使用すればよいですか?マルチスレッドサービスの場合

皆さんこんにちは。ユーザーに電子メールでリマインダーを送信するサービスを実装する必要があります。これはマルチスレッドのスケジュールされたシステムである必要があります。この部分は問題ありませんが、サーバー上の送信メール用に SMTP サーバーをインストールして構成する必要があります。これをどのように行うのか、何を期待するのか全くわかりません。私のツールは、Linux (おそらく Ubuntu) スライス上のランプ コンボになります。

答え1

インストールはディストリビューションに非常に依存します。ソフトウェアのインストールにはディストリビューション推奨の方法があるからです。最近では、Linux ディストリビューションにソースから Postfix をインストールすることを勧めることはほとんどありません。

Ubuntu の場合は、apt-get を使用します。

$ sudo apt-get install postfix

これで Ubuntu サーバーに postfix がインストールされ、その後の設定はあなたに任されます。私のアドバイスは、メールを sendmail バイナリ (通常は /usr/sbin/sendmail) にパイプすることです。これにより、Postfix システムがダウンした場合にメールがキューに保持されます。SMTP を使用してポート 25 に接続する場合、メール サーバーをメンテナンスのためにダウンさせる必要がある場合は、アプリケーションが独自のメール キューを保持する必要があり、そうしないとメールが配信されないリスクがあります。

答え2

Postfixをインストールするには、ポストフィックス

答え3

exim4 をインストールすることもできます。これは、難しい設定 (Debian のハッキングによる) ではありますが、メールを転送するための設定ははるかに簡単です。単に apt-get install exim4 を実行し、必要に応じて dpkg-reconfigure exim4-config を実行します。

答え4

これまでにソースからコードをビルド/コンパイルしたことがある場合、Postfix をソース コードから立ち上げるのはそれほど難しくありません。

メールの送信には mailx を使用し、実際のリレー ポイントとして postfix SMTP サーバーと通信します。

また、Postfix サーバーを起動して実行すると、他の外部サーバーが電子メールのリレーのためにそれを参照できるようになります。

私たちは、スクリプト化されたビルド プロセスを使用して、Linux ディストリビューション (Pozix Linux) 上で Postfix をビルドします。

Postfix の make ファイルを構築するために使用するコマンドは次のとおりです。

makefile '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 を動作させるには、通常、root としてスクリプトを呼び出す CRON ジョブが必要です。

次に、スクリプトは mailx を呼び出します。

MAILX は環境変数の読み取りに .rc ファイルを使用します。mailx を root ユーザーとして呼び出すため、root のホーム ディレクトリに '.mailrc' というファイルを配置する必要があります。

.mailrc の内容は次のようになります。

セット[メールアドレス] smtp=mail.mydomain.com を設定[メールアドレス] smtp-auth-password=alertspassword を設定 smtp-auth=login を設定

次に、スクリプトで次のように mailx を呼び出します。

echo "テストメッセージ" | mailx "[メールアドレス] [メールアドレス]" -s "メールの件名" "メールの本文"

または、次のようにすることもできます:

mailx -s "件名" -a /path/to/some/file[メールアドレス]

ここで、-a はファイルを添付することを許可し、test.msg は電子メール本文に読み込む外部ファイルです。

または、ファイル添付の場合と同様に、次の方法もあります。

echo "メッセージ本文" | mailx -s "件名" -a /path/to/some/file[メールアドレス]

関連情報