前の記事に基づいて、次のように単一のコマンドラインを介してステータスメッセージを送信するようにcronジョブを要求します。
Gmailを使用してコマンドラインで1行のメールを送信する最も簡単な方法は何ですか?
問題は、一行で添付ファイルを送信する方法です。
想像する:
cron ジョブは次のように出力ファイルを生成します。
cd /home/pi/python
gnuplot plt12
プログラムファイルplt12には、次の2行が含まれています。
set output "pl12.png"
set terminal png font "arial,11"
これは、データロギングのためにUSB経由でNanoのADCに接続されたRpi3Bシステムで行われました。
それでは、質問は単一のコマンドラインを使用してGmailを介して図面ファイルの画像を送信する最も簡単な方法は何ですか?
答え1
そしてmutt
:
SMTP_URL='smtps://user:[email protected]' mutt \
-F /dev/null \
-e 'set from="Me <[email protected]>"' \
-e 'set smtp_url=$SMTP_URL' \
-s 'pl12.png file' \
-a pl12.png -- \
[email protected] << EOM
Hi,
see pl12.png attached.
--
Me
EOM
すべてのシェルコードと同様に、必要に応じていつでも1行に配置できますが、それを行うと読みやすくなりません。
printf 'Hi,\n\nsee pl12.png attached\n\n-- \nMe\n' | SMTP_URL='smtps://user:[email protected]' mutt -F /dev/null -e 'set from="Me <[email protected]>"' -e 'set smtp_url=$SMTP_URL' -s 'pl12.png file' -a pl12.png -- [email protected]
答え2
OPで参照された以前の質問によると、単一のコマンドラインを使用してメッセージを送信する最も簡単な方法は次のとおりです。
Gmailを使用してコマンドラインで1行のメールを送信する最も簡単な方法は何ですか?
抜粋:
ssmtp
次のコマンドを使用してインストールします。
sudo apt-get update
sudo apt-get install ssmtp
次に、/etc/ssmtpに移動し、ssmtp.confを次のように編集します。
root=rpi3abc@gmail
mailhub=smtp.gmail.com:465
FromLineOverride=YES
[email protected]
AuthPass=testing123
UseTLS=YES
次の行を送信します。
echo "Testing...1...2...3" | ssmtp [email protected]
その部分が完了したら、1行で添付ファイルを送信するのも簡単です。
まず、以下をインストールしてくださいmpack
。
sudo apt-get update
sudo apt-get install mpack
次に、pl12.pngファイルをユーザーに送信するシナリオに従ってください。[Eメール保護]、これは単一のコマンドラインを介して行われます。
mpack -s "12-Volt Battery Pack plot" /home/pi/python/pl12.png [email protected]
ファイルが現在のディレクトリにある場合は、完全修飾パスを使用する必要はありません。
cron
タスクは常にユーザーのホームディレクトリで実行されるため、常に添付ファイルへのフルディレクトリパスを使用することをお勧めします。