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

Ubuntu に Sendmail をインストールしてセットアップする方法

メール配信をルーティングまたはリレーするメールサーバーを使用してメールを送信するために、Ubuntu に Sendmail をインストールして構成する方法。

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.0-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

結論

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

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


Linux
  1. Ubuntu 20.04にVarnishをインストールして構成する方法は?

  2. Ubuntu20.04にSuricataIDSをインストールしてセットアップする方法

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

  1. Ubuntu20.04にNginxをインストールして構成する方法

  2. Ubuntu 20.04 に VSFTP をインストールする方法

  3. Ubuntu 20.04 で Nginx を使用して MERN スタックをインストールおよびセットアップする方法

  1. Ubuntu18.04にGitLabをインストールして構成する方法

  2. Ubuntu18.04にDockerをインストールして使用する方法

  3. Ubuntu18.04にNagiosをインストールして構成する方法