Pythonのプログラムからメールを送信しています。
ajya.hatenablog.jp
ajya.hatenablog.jp
2021年に運用した環境では、sendmailを利用して、会社のメールサーバーにリレーしてメールを送信していました。
2022年の運用でも、同様にsendmailを利用して、送信を行うため、Ubuntuにsendmailを設定しました。
sendmail設定の手順で悩んだ点1
Ubuntuにsendmailを設定する手順は、以下のページを参考にしました。
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フィールドが設定されて届きました。
メール送信までできるようになったので、設定を少しずつ変更して、どのような影響が出るのか、確認したいです。