🔖

Build a POP3 server that works on macOS

2025/01/18に公開

Build a POP3 server that works on macOS

この記事は、macOSで動作するPOP3サーバーを構築する方法になります。

Background information

macOSは、crontabを稼働させることができますが、出力結果はメールで送信されています。このメールを確認したいのですが、mail コマンドで確認するのは煩わしい。GUIで確認したいので、POP3サーバーを構築したい。

macOSには、SMTPサーバーとして、デフォルトでPostfixがインストールされています。これは不用意に差し替えず、インストールされたPostfixをそのまま使うのがよいでしょう。

macOSのアカウント(ユーザー)でメールを確認するには、macOSのPAM認証を使う必要があり、PAMが使えるPOP3サーバーである必要がある。

Dovecotは設定が複雑なためか無理だった。POP3だけに対応したシンプルなPOP3サーバーで構築する。

Install

PAMに対応した tpop3d をインストールする。

sudo port install tpop3d +pam

Configuration

/etc/pam.d/tpop3d
auth       required       pam_unix.so
account    required       pam_unix.so
/opt/local/etc/tpop3d.conf
# Bind to all network interfaces
# listen-address: 0.0.0.0
# Bind to local network interfaces
listen-address: 127.0.0.1

# mailbox: bsd:/var/mail/$(user)
mailbox: bsd:/Users/$(user)/mbox

# Enable authentication using PAM
auth-pam-enable: yes

Boot

sudo /opt/local/sbin/tpop3d

How to

tpop3d は、/var/mail/$(user) にアクセスすることができない。理由は分からない。

ホームディレクトリの mbox ならアクセスできる。

まず、mail コマンドで、/var/mail/$(user) のメールを全て読んで既読にする。

mail コマンドは、既読のメールを /Users/$(user)/mbox に保存する。

tpop3d は、/Users/$(user)/mbox に保存されているメールをクライアントに返す。

telnet

メールクライアントで設定する前に、telnet でアクセスできるか確認する。
telnet の使い方は以下の記事を参照のこと。

https://zenn.dev/tomoakinagahara/articles/0c13e08d071093

Discussion