コマンドを実行し、msmtpを使用して出力(タイトルを含む)を電子メールで送信します。

コマンドを実行し、msmtpを使用して出力(タイトルを含む)を電子メールで送信します。

msmtpがインストールされたOpenWRTルータがあります。現在パブリックIPアドレスを送信し、Cronに15分ごとにそれを実行させるコマンドライン(または.shファイル)を作成したいと思います。

この投稿を見つけました。 コマンドを実行して結果を電子メールで送信します。

msmtpで同じ操作を試しましたが、正常に動作しました。以下を行いました。

kdig +short myip.opendns.com @resolver1.opendns.com |メール転送プロトコル [Eメール保護]

現在、正規のIPアドレスを含む電子メールを受け取りましたが、何も設定していないため、当然タイトルはありません。 msmtpの場合、トピックを入れる方法は次のとおりです。

echo「タイトル:現在のパブリックIP」|[Eメール保護]

しかし、これら2つをどのように組み合わせるのかわかりません...助けてくれて本当にありがとう!

答え1

私はこのアプローチを認めることはできません。他の場所で見たことがありますが、この小さな部分はパラメータを確認してより柔軟な方法で追加することで改善することができますが、次のアイデアを得ることができます。

kdig +short myip.opendns.com @resolver1.opendns.com |{
    SUBJ="A Subject"
    echo "From: \"name\"<[email protected]>"
    echo "To: \"me\"<[email protected]>"
    echo "Subject: ${SUBJ}"
    # Now repeat what was piped in 
    cat /dev/fd/0
} | msmtp [email protected]

関連情報