GNU/Linux >> Linux の 問題 >  >> Linux

Ubuntu 22.04 に Sendmail をインストールする方法

Sendmail を Ubuntu 22.04 にインストールし、メール配信をルーティングまたは中継するメール サーバーを使用してメールを送信するように設定する方法。

Sendmail は、サーバーまたはシェル コマンドを使用して電子メールをルーティングするために使用されるオープンソースのメール転送エージェント (MTA) です。 Sendmail を使用して SMTP を構成することもできます。

このガイドでは、Sendmail を Ubuntu にインストールしてセットアップする方法を学習します。また、SMTP をセットアップし、PHP で構成します。

サーバー パッケージの更新

サーバー内で SSH 接続し、パッケージを最新バージョンに更新します。

sudo apt update
sudo apt upgrade

Sendmail をインストール

Sendmail は ubuntu リポジトリで利用できるため、apt install を使用して直接インストールできます。 コマンド。

sudo apt install sendmail

ホスト名の構成

/etc/hosts を編集します ファイルを開き、ホスト名を追加してください。

sudo nano /etc/hosts

127.0.0.1 で始まる行 、 hostname を追加します 下に見えるように最後まで。これは 1 行にする必要があります。

127.0.0.1 localhost hostname

SMTP の構成

/etc/mail 内に新しいディレクトリを作成します SMTP 構成用。

sudo mkdir /etc/mail/authinfo

正しい権限を設定してください。

sudo chmod -R 700 /etc/mail/authinfo

新しく作成したディレクトリ内に SMTP 認証用の新しいファイルを作成します。

cd /etc/mail/authinfo
sudo nano smtp-auth

次の行を貼り付けて、電子メール アドレスをログイン用電子メールに、パスワードをパスワードに置き換えます。

AuthInfo: "U:root" "I:email-address" "P:password"

CRTL + X をヒット 続いて Y そして ENTER ファイルを保存して終了します。

上記で作成した認証用のハッシュ データベース マップを作成します。

sudo makemap hash smtp-auth < smtp-auth

SMTP の構成

sendmail 構成ディレクトリに移動し、sendmail.mc を編集します。 ファイル。

cd /etc/mail
sudo nano sendmail.mc

MAILER _DEFINITIONS の直後に以下の構成を追加します。

smtp-host を置き換えます

define(`SMART_HOST',`[smtp-host]')dnl
define(`RELAY_MAILER_ARGS', `TCP $h 587')dnl
define(`ESMTP_MAILER_ARGS', `TCP $h 587')dnl
define(`confAUTH_OPTIONS', `A p')dnl
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
FEATURE(`authinfo',`hash -o /etc/mail/authinfo/smtp-auth.db')dnl

構成は、以下のスクリーンショットと同じように見えるはずです。

ファイルを保存してエディターを終了します。

Sendmail 構成の再構築

構成が完了したら、make を使用して Sendmail 構成を再構築する必要があります。 コマンド。

cd /etc/mail
make

構成が再構築されたら、Sendmail を再起動する必要があります

Sendmail を再起動

次のコマンドを使用して Sendmail を再起動します。

sudo /etc/init.d/sendmail restart

SMTP を使用してメールを送信できるようになりました。

追加の構成

PHP による構成

PHP で Sendmail を使用するには、php.ini に sendmail パスを追加する必要があります。 ファイル。

sudo nano /etc/php/version/fpm-or-apache2/php.ini

ファイルの最後に以下を追加してください。

sendmail_path= /usr/sbin/sendmail -t -i

変更を有効にするために、Apache または PHP-FPM を再起動してください。

sudo service apache2 restart

or

sudo service php8.1-fpm restart

認証なしの Sendmail SMTP 構成

SMTP のサーバー IP をホワイトリストに登録していて、認証なしでメールを送信できる場合は、以下の方法に従うことができます。

smtp-auth を作成する必要はありません 上記で作成したファイル

sendmail.mc を直接編集できます ファイルに次の変更を加えます。

cd /etc/mail
sudo nano sendmail.mc

以下の設定を最後に追加してください。

smtp-host を置き換えます

define(`SMART_HOST',`smtp-host')dnl
define(`RELAY_MAILER', `esmtp')dnl
define(`RELAY_MAILER_ARGS', `TCP $h 587')dnl

ファイルを保存し、構成を再構築して、Sendmail を再起動してください。

cd /etc/mail
make
sudo /etc/init.d/sendmail restart

情報技術の専門家として働く役割に備える Linux オペレーティング システムで

結論

これで、Ubuntu 22.04 で SMTP を使用して中継するように Sendmail をインストールおよび構成する方法を学習しました。

御時間ありがとうございます。問題やフィードバックに直面した場合は、下にコメントを残してください。


Linux
  1. Ubuntu18.04にDockerをインストールする方法

  2. Ubuntu 22.04 に Docker をインストールする方法

  3. Ubuntu に Qt をインストールする

  1. Ubuntu18.04にApacheをインストールする方法

  2. Ubuntu18.04にMariaDB10.4をインストールする方法

  3. Ubuntu18.04にMongoDBをインストールする方法

  1. Ubuntu18.04にJenkinsをインストールする方法

  2. Ubuntu20.04にClickHouseをインストールする方法

  3. Ubuntu20.04にKVMをインストールする方法