WordPress ローカルネットワークでの開発環境構築 ~ Ubuntu 20.04.1

メールサーバー

Postfix のインストール

  • Postfix をインストールします。対話モードのインストールで「設定無し」を選択します。
sudo apt install postfix
  • 設定ファイルを編集します。
cd /etc/postfix
sudo cp main.cf.proto main.cf
sudo nano /etc/postfix/main.cf
myhostname = mail.riverforest.test /* ホスト名( /etc/hosts に記述したもの) */
mydomain = riverforest.test /* ドメイン名 */
myorigin = $mydomain /* メール送信 */
inet_interfaces = all /* メール受信 */
mydestination = $myhostname, localhost, $mydomain  /* 宛先ドメイン */
mynetworks = 127.0.0.0/8 192.168.179.0/24  /* 信頼するネットワーク */
home_mailbox = Maildir/  /* メールボックス */
alias_maps = hash:/etc/aliases
sendmail_path = /usr/sbin/sendmail
newaliases_path = /usr/bin/newaliases
mailq_path = /usr/bin/mailq
html_directory = no
manpage_directory = /usr/share/man
sample_directory = /etc/postfix
readme_directory = /usr/share/doc/postfix
setgid_group = postdrop /* グループ /etc/group を見てその値を指定 */
  • ユーザーのメールボックス(ディレクトリ)作成します。
mkdir -p ~/Maildir/{new,cur,tmp}
  • 他のユーザーを作成し、メールボックスを作成するスクリプト。tes1,tes2,tes3 という3ユーザーを作成しメールボックスを作成する。bash で動作します。
#!/bin/bash
for i in {1..3} ; do
sudo useradd -m -s /sbin/nologin tes$i
echo user tes$i
sudo passwd tes$i
sudo -u tes$i mkdir -p /home/tes$i/Maildir/{new,cur,tmp}
done
exit
  • /etc/aliases にユーザーを追記します。
sudo nano /etc/aliases
katsushi: katsushi@riverforest.test /* ユーザーが katsushi ドメインが riverforest.test の場合 */
  • 上記の bash スクリプトで作成した tes1,tes2,tes3 という3ユーザーを /etc/aliases に追記するスクリプト。bash で動作します。
#!/bin/bash
for i in {1..3} ; do
echo tes$i: tes$i@riverforest.test | sudo tee -a /etc/aliases /* ドメインが riverforest.test の場合 */
done
exit
  • aliases を反映させます。
sudo newaliases
  • 有効なサービスを確認し、Postfix の利用する smtp を解放し、設定を反映させます。
sudo firewall-cmd --list-service
sudo firewall-cmd --add-service=smtp --permanent
sudo firewall-cmd --reload
  • Postfix を再起動します。
sudo systemctl restart postfix

送信テスト

  • 送信テスト用ユーティリティをインストールします。
sudo apt install mailutils
  • 送信テストをしてみます。
mail katsushi@riverforest.test /* このコマンドを打った後に対話モードになる */
Cc:
Subject: test /* 題名を入力 */
testtesttest /* 本文を入力 */
. /* ピリオドを入力 */
<ctrl + D> /* ctrlキー + Dキー で対話モード終了 */
  • メールが送信されたか、メールログを確認します。
cat /var/log/mail.log

Dovecot のインストール

  • 受信サーバーの Dovecot をインストールします。
sudo apt install dovecot-core dovecot-pop3d dovecot-imapd
  • 設定ファイルを編集します。
sudo nano /etc/dovecot/dovecot.conf
listen = *    /* IPv4 のみ */
login_trusted_networks = 127.0.0.0/8 192.168.179.0/24 /* ネットワーク */

sudo nano /etc/dovecot/conf.d/10-mail.conf
mail_location = maildir:~/Maildir   /* メールボックス */

sudo nano /etc/dovecot/conf.d/10-auth.conf
/* 平文認証の許可 */
disable_plaintext_auth = no
auth_mechanisms = plain login

sudo nano /etc/dovecot/conf.d/10-ssl.conf
ssl = no  /* SSL を利用しない */

  • 有効なサービスを確認し、Dovecot の利用する pop3、imap を解放し、設定を反映させます。
sudo firewall-cmd --list-service
sudo firewall-cmd --add-service=pop3 --permanent
sudo firewall-cmd --add-service=imap --permanent
sudo firewall-cmd --reload
  • Dovecot を再起動します。
sudo systemctl restart dovecot

受信テスト

  • 受信テストをしてみます。
telnet localhost 143 /* このコマンドを打った後に対話モードになる */
1 login katsushi パスワード /* ユーザー名の場合のユーザー名 katsushi とそのパスワードを入力 */
2 list "" *
3 select INBOX
4 fetch 1 body[]
5 logout

メールソフトの設定

  • 送信ポートは25番、受信ポートは110番になります。
  • hosts ファイルに IP アドレスとドメイン名を記述して名前解決のできる PC と名前解決のできない iPad, iPhone では、メールサーバーの指定が異なります。
  • 以下は、Microsoft Mail と、iPad のメールの設定例です。
1 2 3 4 5 6 7 8


Comments

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください