シェルスクリプトでメールを送信するには、次のコードを使用しています。
パスワード:mail -s "subject" [email protected] <<< "Body of the mail"
効率的。ところでメールを送信する際にファイルを添付したいです。どうすればいいですか?
答え1
Linuxシステムに「mutt」がインストールされている場合は使用できます。
$$ mutt -a "file_attachment"
他のオプションはmailコマンドと同じです。
答え2
ファイルを添付する1つの可能な方法は、ファイルをエンコードすることです。例えば
uuencode file_to_attach file_to_attach|mail -s "subject" [email protected]
file_to_attach
メッセージに添付されます
答え3
使用できるmime-construct
(https://linux.die.net/man/1/mime-construct)またはmakemime
(http://manpages.ubuntu.com/manpages/trusty/man1/makemime.1.html)これらのツールのいずれかが利用可能な場合。
マニュアルページの例mime-contruct
:
プレーンテキスト部分を送信してファイルを添付すると、ファイルのコンテンツタイプと添付ファイル名が自動的に設定されます。
mime-construct --to "$recip" --subject "$file" \ --string "Here's the file I told you about.$nl" \ --file-attach "$file"
もちろん、スクリプトからすべてのMIMEヘッダー、境界、およびファイルエンコーディングを手動で生成することもできます。 (BSDライセンス付き)HylaFAXソフトウェアの一部である一部のスクリプトでは、(やや複雑な)例を見つけることができます。CreateMailMessage
ソースコードディレクトリnotify.sh.in
でcommon-functions.h.in
関数を見つけます。util
(望むよりhttps://www.hylafax.org/、ftp://ftp.hylafax.org/source/)