![見出し画像](https://assets.st-note.com/production/uploads/images/159640445/rectangle_large_type_2_8e2378ec9ef2f78eebf76553136e2ee7.png?width=1200)
VPSにメールサーバーを構築する方法を分かりやすく解説します|独自ドメインのメール送信
本記事では、xserver VPSにメール送信サーバーをインストールし、独自ドメインでのメール送信を可能とするための設定手順について解説しています。
なお、独自ドメインでのメール送信は、エックスサーバーやさくらのサーバーなどのレンタルサーバーを契約したほうが、設定が簡単で初心者でも気軽に利用できます。その際にかかるコストも、年間で数千円~1万円未満で済みます。
ですが、レンタルサーバーは複数のユーザーと共有されるため、利用するメールアドレスが迷惑メールとみなされてしまうリスクもあります。
一方、VPSでのメールサーバー設定は手間がかかるものの、より安全かつ確実にメール送信を行いたい場合に適しています。
企業用メールなど、確実性や信頼性を重視する場合には、VPSでのメールサーバー構築をお勧めします。
前提条件の確認およびシステムの更新
前提条件の確認
VPSを契約済み(ここではエックスサーバーのVPSを例にします)
ウェブサーバーにApacheを使用(Nginxの場合は、仮想ホストなどの設定ファイルが異なります)
独自ドメインを契約済み
独自ドメインのSSL証明書を取得済み
システム更新
はじめにTeraTermなどでシステムにリモート接続し、下記のコマンドで最新パッケージに更新して下さい。
sudo apt update
sudo apt upgrade -y
更新完了まで2~3分ほどかかります。
完了間際に、下記のような画面が何度か表示されますが、どれもENTERボタンを押すだけでOKです。
![](https://assets.st-note.com/img/1730082669-1AFeaopc7d3V8LIwqGQMmKSP.jpg?width=1200)
Postfix(SMTPサーバー)のインストールと設定
ターミナルで下記コマンドをペースト&ENETRし、「Postfix」をインストールしてください。
sudo apt install -y postfix
(PostfixはSMTPサーバーとして機能し、メールの送信や外部メールへの転送に使用されます)
インストールの途中で、下記の画面が表示されます。
![](https://assets.st-note.com/img/1730082898-3NAnKZX1fiSBVpwcYEh90DFQ.jpg?width=1200)
ここでは「インターネットサイト(Internet Site)」を選択してENTERボタンを押してください。
続いて、下記の画面が表示されます。
![](https://assets.st-note.com/img/1730082926-FZ5GLUCcjg8MloIbtmNsDVzO.jpg?width=1200)
表示されているIPアドレスを消して、メールアドレスに使用する独自ドメイン(例: sfp-sample5.com)を入力し、ENTERボタンを押します。
続いて下記の画面が表示されますが、これらはENTERボタンを押すだけでOKです。
![](https://assets.st-note.com/img/1730082958-vLnu1BbCVDrcUFi9wYkpPmt5.jpg?width=1200)
インストールが完了したら、Postfixのメイン設定ファイルを編集します。
下記のコマンドを実行してください。
sudo nano /etc/postfix/main.cf
表示されているファイル内容をすべて消去して、下記の内容に書き換えます。
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no
append_dot_mydomain = no
readme_directory = no
compatibility_level = 3.6
# TLS設定(Let's Encryptで取得したSSL証明書を使用)
smtpd_tls_cert_file=/etc/letsencrypt/live/mail.あなたのドメイン名/fullchain.pem
smtpd_tls_key_file=/etc/letsencrypt/live/mail.あなたのドメイン名/privkey.pem
smtpd_use_tls=yes
# 必要に応じて encrypt に設定可能
smtpd_tls_security_level=may
# SMTPクライアント側のTLS設定
smtp_tls_CApath=/etc/ssl/certs
smtp_tls_security_level=may
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
# リレー制限設定
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
# ドメインとホスト名の設定
# メールサーバーのホスト名を設定
myhostname = mail.あなたのドメイン名
# 独自ドメイン名
mydomain = あなたのドメイン名
# メール送信元のドメイン名
myorigin = $mydomain
# 受信対象のドメインとホスト名
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
# 直接送信なので空のまま
relayhost =
# ネットワークの許可設定
# ローカルネットワークのみ許可
mynetworks = 127.0.0.0/8
# メールをMaildir形式で保存
home_mailbox = Maildir/
# メールボックスのサイズ制限なし
mailbox_size_limit = 0
# 受信者区切り文字
recipient_delimiter = +
# すべてのネットワークインターフェースでリッスン
inet_interfaces = all
# IPv4およびIPv6をサポート
inet_protocols = all
# 仮想エイリアスマップを有効にする
virtual_alias_maps = hash:/etc/postfix/virtual
(注)「あなたのドメイン名」は、あらかじめ置き換えてください(あなたのドメイン名 ⇒ 例:sfp-sample5.com)
DNSレコード設定
次に、エックスサーバーのVPS管理画面にログインし、「DNS設定」⇒「使用するドメイン名」をクリックします。
![](https://assets.st-note.com/img/1730084016-Cec8jqah4BOPSGU7mIdKxky1.jpg?width=1200)
「DNSレコード設定の追加」ボタンを押して、下記を入力してください(下記画像を参照)。
ホスト名:mail
種別:A
内容:VPSのIPアドレス
TTL:3600
続いて「入力行を追加する」ボタンを押し、下記を入力します(下記画像を参照)。
ホスト名:空欄のまま
種別:MX
内容:mail.あなたのドメイン名
TTL:3600
優先度:10
![](https://assets.st-note.com/img/1730084154-Z8zpEQ92NStfCIMucW5BKHOr.jpg?width=1200)
なお、DNSレコードの設定は、DNSがインターネット上で反映されるまでに時間がかかる場合があります(通常は1~2分で完了)。
続いて、「mail.あなたのドメイン名」の仮想ホスト(Virtual Host)を作成します。
ターミナルで下記のコマンドを実行してください。
sudo nano /etc/apache2/sites-available/mail.あなたのドメイン名.conf
※Nginxの場合、このコマンドと下記の設定内容が異なります
真っ黒の画面(エディタ)が表示されますので、下記のコードをコピーして貼り付け、「あなたのドメイン名」を実際のドメイン名(例:sfp-sample5.com)に置き換えてください。
<VirtualHost *:80>
ServerName mail.あなたのドメイン名
DocumentRoot /var/www/mail.あなたのドメイン名
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
上記の設定ファイルを保存したら、下記コマンドで仮想ホストを有効化し、Apacheウェブサーバーを再起動します。
sudo a2ensite mail.あなたのドメイン名.conf
sudo systemctl reload apache2
SSL証明書の取得と設定
Certbotを使って、Let’s EncryptのSSL証明書を取得します。
※Certbotのインストール手順はこちら → https://note.com/sfp_note/n/n19cd3bf8dfdc
sudo certbot --apache -d mail.あなたのドメイン名
(Nginxの場合は、–apachを–enginxに置き換えてください)
上記コマンドの実行後、20~30秒ほど待っていればSSL証明書の取得が完了します。
続いて下記のコマンドでPostfixを再起動してください。
sudo systemctl restart postfix
これでVPSからのメール送信の際に、Let’s Encrypt証明書を使用した暗号化が有効になります。
SPF、DKIM、DMARCの設定
SPF、DKIM、DMARCは、いずれもメールの信頼性と安全性を高めるための設定になります。
SPFレコードの設定
エックスサーバー社の管理画面を開き、DNS設定のところで下記のTXTレコードを追加します。
ホスト名:空欄のまま
種別:TXT
内容:v=spf1 a mx ip4:VPSのIPアドレス ~all
TTL:3600
![](https://assets.st-note.com/img/1730090235-WZilLy7GI9P62XC8qjOBJhfV.jpg?width=1200)
DKIMの設定
DKIMを利用するために、OpenDKIMをインストールし、署名の設定を行います。
まずは下記のコマンドでOpenDKIMをインストールしてください。
sudo apt install -y opendkim opendkim-tools
インストール時には下記の画面が表示されますが、これらはENTERボタンを押すだけでOKです。
![](https://assets.st-note.com/img/1730090319-qOmtgQEY5duA8MiCySw1DB2j.jpg?width=1200)
次は、下記コマンドで設定ファイルを開きます。
sudo nano /etc/opendkim.conf
下記のような画面が表示されます。
![](https://assets.st-note.com/img/1730090392-fTB4JCcqm8aGFiuQZzdo9XrV.jpg)
このファイルの内容をすべて消去し、下記の内容に書き換えてください。
ここから先は
¥ 5,000
この記事が気に入ったらチップで応援してみませんか?