Thunderbirdのようなメーラーではなく、端末からmailコマンドを使ってメールを送信する方法です。備忘録として書き残しておきます。
環境は Linux Mint 21.3 “Virginia” MATE Edition です。
必要なものをインストール
mailutils と bsd-mailx のインストール
まず「mailutils」と「bsd-mailx」がインストールされているか以下のコマンドを実行して確認します。
$ which mail bsd-mailx
以下のように /usr/bin/mail と /usr/bin/bsd-mailx と出ればインストールされていますので「msmtp と msmtp-mtaのインストール」までスキップしてください。
インストールされていなければ以下の手順でインストールしてください。
$ sudo apt install mailutils
「Tab」キーを押して「了解」を選択し、「Enter」キーをタイプ押します。
「取消」を選択し、「Enter」キーをタイプします。
今回はmsmtpを入れるので、不要な postfix をアンインストールし、bsd-mailxをインストールします。
$ sudo apt remove --purge postfix
$ sudo apt install bsd-mailx
msmtp と msmtp-mta のインストール
以下のコマンドを実行し、msmtpとmsmtp-mtaをインストールします。
$ sudo apt install msmtp msmtp-mta
設定ファイルの編集
設定ファイルの雛形(テンプレート)を /etc/msmtprc にコピーします。
$ sudo cp /usr/share/doc/msmtp/examples/msmtprc-system.example /etc/msmtprc
コピー先の設定ファイルを編集します。エディターは何でも構いませんが、ここでは nano を使います。
$ sudo nano /etc/msmtprc
「smtp.server.com」のところは、利用するsmtpサーバーのアドレスに置き換えてください。また、passwordにはメールパスワードを入力します。
# Example for a system wide configuration file
# A system wide configuration file is optional.
# If it exists, it usually defines a default account.
# This allows msmtp to be used like /usr/sbin/sendmail.
account default
# The SMTP smarthost
host smtp.server.com
# Use TLS on port 465
port 465
tls on
tls_starttls off
tls_trust_file /etc/ssl/certs/ca-certificates.crt
auth on
# Construct envelope-from addresses of the form "user@oursite.example"
from YourMailAddress@xxxyyyzzz.com
user YourMailAddress@xxxyyyzzz.com
password ***************
# Syslog logging with facility LOG_MAIL instead of the default LOG_USER
syslog LOG_MAIL
$ sudo chown root:msmtp /etc/msmtprc
$ sudo chmod 640 /etc/msmtprc
以上で設定や準備は完了です。
mailコマンドを使ってメールを送信
試しにテストでメールを送信します。以下のコマンドでは題名が「テストメール」で「これはテストメールです。」という内容のメールを「xxxyyyzzz@example-mail.com」というアドレスに送信します。
$ echo "これはテストメールです。" | mail -s "テストメール" xxxyyyzzz@example-mail.com
本文が複数行にまたがる場合「echo “本文”」の代わりに以下の方法でメールを送信することも可能です。
まず touch コマンドで空のファイル「test.mail」を作成します。ここでは「test.mail」というファイル名を付けていますが、ファイル名は何でも構いません。
$ touch test.mail
テキストエディタなどで先程作成した「test.mail」を開きます。テキストエディタは何でも構いませんが、ここでは nano を使って話を進めたいと思います。
$ nano test.mail
以下のようにメールで送りたい内容を書いて保存します。テキストエディタにnanoを使う場合「Ctrl」+「O」を押し「Enter」で保存後、「Ctrl」+「X」でnanoを閉じます。
これはテストメールです。
あああああああああああ。
いいいいいいいいいいい。
ううううううううううう。
えええええええええええ。
おおおおおおおおおおお。
以下のコマンドを実行することで、先程の内容のメールが題名「テストメール」で「xxxyyyzzz@example-mail.com」に送信されます。
$ cat test.mail | mail -s "テストメール" xxxyyyzzz@example-mail.com
また、コマンドの実行結果をメールで送ることもできます。以下の例では題名が「ディスクの使用量」で「df -h」の実行結果をメールで送信します。
$ sudo df -h | mail -s "ディスクの使用量" xxxyyyzzz@example-mail.com
コメント