Virtual Machineでメールサーバーを設定する方法

Virtual Machine(VM)でポート25を開くには、VPS Manager > 「Mail Bridge」タブを選択 > 「Add Mail Bridge」ボタンを押します。

PTRレコードが設定され、ポート25が有効になると、お好みのSMTPサーバーを設定できます。以下はPostfix、Exim、およびSendmailの例です。VM IPはVPS Managerに表示されているものを使用し、PTRレコード用のドメイン名が送信元ドメイン(例: mail.example.com)と一致していることを確認してください。

Postfixのインストールと設定

# Debian/Ubuntu の場合

sudo apt update

sudo apt install postfix mailutils -y



# Almalinux/Rocky/Cloudlinux/EL の場合

# RPMベースのディストリビューションを確認するには

# Postfixがインストールされている場合

rpm -qa | grep postfix

# インストールされていない場合は、以下のコマンドを実行してPostfixをインストールします

sudo dnf install postfix



Postfixがインストールされたら、サービスを開始し、サーバーの再起動後にも自動的に開始されるように設定できます。

sudo systemctl start postfix

sudo systemctl enable postfix

次に、サービスを設定できます。サービスに必要なすべてのオプションは/etc/postfixディレクトリにあり、メイン設定ファイルは/etc/postfix/main.cf

次のsudo nano /etc/postfix/main.cfコマンドを実行してメイン設定ファイルの編集を開始し、以下の行を追加または更新します。

inet_interfaces = all

# myhostname はメールサーバーのホスト名を定義します

myhostname = mail.example.com

# mydomain は実際にメールを処理するドメインを定義します

domain = example.com

# mail_spool_directory はメールボックスファイルが配置されるディレクトリを定義します

mail_spool_directory = /var/mail

myorigin = /etc/mailname

mydestination = $myhostname, localhost.$mydomain, localhost

relayhost =

inet_protocols = all

smtp_banner = $myhostname ESMTP



変更を適用するには、Postfixを再起動します。

sudo systemctl restart postfix



メール送信をテストします。

echo "Test message" | mail -s "Test Email" user@recipient.com

Exim 4のインストールと設定

# Ubuntu/Debian の場合

sudo apt update

sudo apt install exim4 -y



以下のコマンドは、ソフトウェアを設定するためのウィザードユーザーインターフェースを表示します。これにより、Eximの設定を複数のファイルに分割するか、1つのファイルに保存するかを選択できます。

sudo dpkg-reconfigure exim4-config

最初のオプションを使用した場合、設定は/etc/exim4/conf.dサブディレクトリに保存されます。1つの設定ファイルを選択した場合は、/etc/exim4/exim4.conf

すべての設定が完了したら、変更を反映させるためにsystemctl restart exim4を実行します。

次を確認するために /etc/exim4/update-exim4.conf.conf を編集します。

# dc_local_interfaces はメールサービスのIP(例: 203.0.113.10)を定義します

dc_local_interfaces='203.0.113.10'

# dc_readhost はシステムのメール名を定義します

dc_readhost='example.com'

# dc_other_hostnames はシステムのホスト名を定義します

dc_other_hostnames='mail.example.com'



変更を適用するには、Eximを再起動します。

sudo systemctl restart exim4


以下のコマンドを実行してメール配信をテストします。

echo "Mail test" | mail -s "Exim Test" user@recipient.com

Sendmailのインストールと設定

# Ubuntu/Debian の場合

sudo apt update

sudo apt install sendmail sendmail-bin -y

# Almalinux/Cloudlinux/RHEL の場合

yum install sendmail sendmail-cf mailutils


Sendmailのメイン設定ファイルは/etc/mail/sendmail.cfです。このファイルを直接編集することは避けてください。設定を編集する必要がある場合は、代わりに/etc/mail/sendmail.mcファイルを編集し、元の設定ファイルをバックアップして、以下のいずれかの方法で新しい設定ファイルを生成します。

1) 同梱の makefile /etc/mail を使用して新しい設定を作成します。

make all -C /etc/mail/

 

/etc/mail内の生成済みファイルは、必要に応じて再生成されます。

2) または、m4マクロプロセッサを使用して新しい/etc/mail/sendmail.cfを作成することもできます。m4マクロプロセッサはデフォルトではインストールされていません。/etc/mail/sendmail.cfの作成に使用する前に、rootとしてm4パッケージをインストールしてください。

# Almalinux/Cloudlinux/RHEL の場合

yum install m4


# Ubuntu/Debian の場合

apt install m4


以下のSendmail設定ファイルは/etc/mail/ディレクトリにあります。

  • access- Sendmailを送信メールに使用できるシステムを指定します

  • domaintable- ドメイン名のマッピング

  • local-host-names - サーバーホストのエイリアス

  • mailertable- 特定のドメインのルーティングを上書きする指示

  • virtusertable- ドメイン固有のエイリアス形式を指定し、1台のマシンで複数の仮想ドメインをホストできるようにします。


以下では、設定ファイルの編集方法の例を確認できます。

# サーバーホストのエイリアスを編集:

echo "mail.example.com" > /etc/mail/local-host-names


# /etc/mail/sendmail.mc を編集してMail IPにバインド:
DAEMON_OPTIONS(`Family=inet, Name=MTA-v4, Addr=203.0.113.10')dnl


# 設定を再構築:
sudo m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf


# テスト:

echo "Hello from Sendmail" | mail -s "Sendmail test" user@recipient.com

前述の設定ファイルのいくつかは、変更を有効にする前にその情報をデータベースファイルに保存する必要があります。設定ファイルで行った変更を反映するには、rootとしてmakemap hash /etc/mail/<name> < /etc/mail/<name>コマンドを実行します。ここで、<name> は更新する設定の名前を表します。

systemctl restart sendmail コマンドを実行してSendmailプロセスを再起動します。

有効なメールアドレスが必要です