ユーザーを作っただけじゃ、メールは送信できない? [ソフトウェア研究室]

 こんにちは!
 ナビゲータのEVEです。

 昨日に引き続き、A8のブログを、Bloggerへ移行しています。今日も、本日は、「ゼロからはじめるシステム開発」の2022年分のアップロードと、株式に関する記事については、「システムエンジニアが目指す中小企業診断士」にアップロードしたところで、アップロードの上限に達しました。2023年度のアップロードは、明日以降行います。
 昨日アップロードした2022年の記事なのですが、その当時、ブログと一緒に画像をアップロードするという習慣がなかったので、ブログの一覧に広告の画像が表示されています。同記事については、見苦しいので、下書きに戻しました。画像を追加し再更新した上で、再掲します。
 そんな、ブログのアップロード作業の傍ら、本日から、ユーザー管理関連テーブルの製造及びユーザー分析システム、そしてログインシステムの製造に着手しています。本日のメインは、はじめてのオートローダー・・・。今回はじめて使ってみました。使ってみて分かったこと・・・。オートローダーは自動でクラスファイルをインポートしてくれるのですが、ファイル名しか取得できないことが判明・・・。システムにおけるクラスの格納位置は自分でプログラミングし取得しないといけないようです。本日は、他の細かい作業をしながら、プログラミングは、その対応だけで、ほぼ終了・・・。オートローダも使えるようになったので、明日から、本格的に製造に入れそうです。
 ちょっと、本日の作業報告が長くなりましたが、今日のブログは、昨日の続きで、メールサーバーの構築の苦労話について話しをしたいと思います。

[Postfixユーザーの作成に一工夫必要]

 昨日は、基本Server Worldの手順で、Postfixmain.cfを記述したのですが、私の環境では不都合があったため、一部変更したというところまで話しました。
 本日は、メールユーザーを作るとこが、Server Worldでの手順ではうまくいかず、ChatGPTに相談しながらなんとか、製造に至ったという話になります。
 以前、Ubuntu18.04、Postfixのバージョンは思い出せないのですが、そこでメールサーバーを構築したときは、Server Worldの手順通りに、Postfixとdovecotをインストールし、ユーザーを作りさえすれば、メールの送受信が可能でした。しかし、Ubuntuも24.04になり、Postfixもバージョン3.8.6になった現在、ユーザーを作っただけでは、メールの送受信はできません。今回は、ユーザー作成後、以下の手順を追加することにより、メールを送受信することができました。

# メールに送受信に必要なディレクトリを作成する
$ sudo -u userID mkdir -p /home/userID/Maildir/{cur,new,tmp}

# 作成したディレクトリに適切な所有権を付与する
$ chown -R userID:groupID /home/userID/Maildir

# 作成したディレクトリに適切なアクセス権を付与する
$ chmod -R 700 /home/userID/Maildir

なお、各ディレクトリは、以下の様な役割を持っています。

ディレクトリ 役割
Maildir/ メールボックスのルートディレクトリ
cur/ 既読メールを保存する
new/ 受信した新着メールを保存する
tmp/ メール受信中の一時ファイルを保存する

以上の情報は、エラーステータス及びエラーメッセージをChatGPTに調べてもらうことにより、知ることができました。

[あとがき]

 以前は、ユーザーを作ることにより自動で以上のディレクトリができていたということみたいですね???Server Worldの手順には以上に関する記述はありません。2~3回同じ作業をしても、以上の作業をしないと、メールの送受信はできないので、少なくてもXServerでは必須な作業なのだと思います。
 もし、他のシステムでもメールの送受信ができない場合、メールを利用したいユーザー配下のディレクトリの確認をしてください。

 では、また!

■Server World
https://www.server-world.info/query?os=Ubuntu_22.04&p=download#google_vignette

コメント