ソフトウェア開発者の日常

こだわりなく書きたいことを書いていきます。

Ubuntu:sendmailの設定手順

Pythonのプログラムからメールを送信しています。
ajya.hatenablog.jp
ajya.hatenablog.jp

2021年に運用した環境では、sendmailを利用して、会社のメールサーバーにリレーしてメールを送信していました。
2022年の運用でも、同様にsendmailを利用して、送信を行うため、Ubuntusendmailを設定しました。

sendmail設定の手順で悩んだ点1

Ubuntusendmailを設定する手順は、以下のページを参考にしました。
www.cloudbooklet.com

参考にしたページまま設定していけばいいのですが、どうやら一部おかしなところがあります。
どこがおかしいかというと、

sudo chmod -R 700 /etc/mail/authinfo

パーミッションを制限した後に、

cd /etc/mail/authinfo

ができている点です。

sudoでrootユーザーとしてパーミッションを厳しくしているのに、一般ユーザーがcdでディレクトリをなぜ移動できるのでしょう?

ファイルを作成するだけなら、

$ sudo vi /etc/mail/authinfo/smtp-auth

で作成できますが、参考にしたページでは、

sudo makemap hash smtp-auth < smtp-auth

というコマンドを実行していて、/etc/mail/authinfoディレクトリに移動しないと、正しく作成できなさそうに見えました。

仕方なく、

$ sudo chmod -R 777 /etc/mail/authinfo

パーミッションの制限を変更して、cdでディレクトリを移動して、

$ sudo makemap hash smtp-auth < smtp-auth

を実行したら、

WARNING: World writable directory .
WARNING: World writable directory .

と表示されました。

パーミッションを制限されていないために警告されているようなので、

$ sudo chmod -R 700 /etc/mail/authinfo

パーミッションを制限しました。

メール送信
Photo by Markus Winkler on Unsplash

sendmail設定の手順で悩んだ点2

cd /etc/mail
sudo nano sendmail.mc

の部分で、/etc/mail/sendmail.mcは、存在しなかった気がします。
もしかすると勘違いしているかもしれません。

How To Install And Configure Sendmail On Ubuntu – Ken Favors . com
こちらのページも読んでいて、/etc/mail/sendmail.mcが存在しないんなら、

$ sudo sendmailconfig

を実行すれば作成されるんでしょ、と考えて実行していました。
実行したら、作成されていました。

sendmailの動作確認

2番目に参考にしたページに、テスト方法が書かれていて、そのまま真似してテストを行ったら、メールが届きました。
メールが届いたのはいいのですが、Toフィールドが設定されていません。

こちらのページによると、Toフィールドは別途設定が必要です。
x68000.q-e-d.net
改めて、To: を指定してテストを行ったら、Toフィールドが設定されて届きました。


メール送信までできるようになったので、設定を少しずつ変更して、どのような影響が出るのか、確認したいです。