外部メールサーバー(SMTP)経由でメールを送信する方法を紹介します。
パッケージのインストール
msmtp
をインストールします。
https://marlam.de/msmtp/
設定ファイル
/etc/msmtprc
を編集します。host
やport
、user
、password
などは各メールサーバーから情報を取得してください。
メール送信
send-to@example.com
(送信先のメールアドレス)にメールを送信します。
件名や送信元も設定する場合は、以下のように指定します。
パスワードを別のファイルから取得
passwordeval
を使用することで、平文でパスワードを保存することを避け、外部プログラムから取得できます。
https://marlam.de/msmtp/msmtp.html#index-passwordeval
GPG
GPG 鍵の生成
https://wiki.archlinux.jp/index.php/Msmtp#GnuPG
暗号化
SMTP パスワードを暗号化し、/etc/.msmtp-password.gpg
に出力します。
復号
以下のコマンドでパスワードを復号できます。
改善後の設定ファイル
一般ユーザーが復号できるように設定
セキュリティ上のリスクは高いですが、root の GPG 秘密鍵を一般ユーザーと共有することで、一般ユーザーがgpg --quiet --for-your-eyes-only --no-tty --decrypt /etc/.msmtp-password.gpg
を実行してパスワードを復号できるようにします。
また、~/.msmtprc
に設定ファイルを作成し、一般ユーザーごとにパスワードや認証情報を管理することも可能です。