メール配信をルーティングまたはリレーするメールサーバーを使用してメールを送信するために、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 をインストールおよび構成する方法を学習しました。
御時間ありがとうございます。問題やフィードバックに直面した場合は、下にコメントを残してください。