web-dev-qa-db-ja.com

HTMLファイルをコンテンツとしてメールで取得する方法(シェルスクリプト)

私はシェルスクリプトを初めて使用します。テーブルデータを含むHTMLファイルがあります。次に、このファイルをメールで送信する必要があります。

mail -s "test" abc.com <test.html

現在、テーブルの生のHTMLコードをメールで受け取っています。

Internet Explorerで取得するので、メールの目次が必要です。

1
Theja

次のようなメッセージに-a "Content-type: text/html;"を追加してみてください。

mail -a "Content-type: text/html;" -s "test" abc.com <test.html

echoの単純なHTMLをmailコマンドに対して実行することで、これを簡単にテストできます。

echo "<html><b>Test</b></html>" | mail -a "Content-type: text/html;" -s "test" abc.com

nixおよびLinux Stack Exchangeのこの質問と回答のスレッド および Stack Overflowのこの同様のスレッド からこのアイデアを得ました。

1
JakeGould

添付ファイルとして送信されるhtmlが必要な場合は、mpackと呼ばれるシェルツールを使用できます。

http://linux.die.net/man/1/mpack

サンプルの編集:

私は単純なユーザーとして、/ etc/hostsが添付されたダミーのメールをrootに送信します。

$ mpack -s 'trx of /etc/hosts' /etc/hosts root@localhost

そしてrootとして、私は自分のボックスをチェックしています:

# mail
Mail version 8.1.2 01/15/2001.  Type ? for help.
"/var/mail/root": 1 message 1 new
& p
Message 1:
From sgombai@localhost  Thu Feb 11 01:54:27 2016
Date: Thu, 11 Feb 2016 01:54:27 +0100
From: sgombai <sgombai@localhost>
Mime-Version: 1.0
To: root@localhost
Subject: trx of /etc/hosts
Content-Type: multipart/mixed; boundary="-"

This is a MIME encoded message.  Decode it with "munpack"
or any other MIME reading software.  Mpack/munpack is available
via anonymous FTP in ftp.andrew.cmu.edu:pub/mpack/
---
Content-Type: application/octet-stream; name="hosts"
Content-Transfer-Encoding: base64
Content-Disposition: inline; filename="hosts"
Content-MD5: 9WRRh8Yr7YPb7zo1AsgwcA==

MTI3LjAuMC4xCWxvY2FsaG9zdAo5LjE1Ny4yMTQuMTc4CXZhY21mcy52YWMuaHUuaWJtLmNv
bQl2YWNtZnMKCiMgVGhlIGZvbGxvd2luZyBsaW5lcyBhcmUgZGVzaXJhYmxlIGZvciBJUHY2
IGNhcGFibGUgaG9zdHMKOjoxICAgICBsb2NhbGhvc3QgaXA2LWxvY2FsaG9zdCBpcDYtbG9v
cGJhY2sKZmUwMDo6MCBpcDYtbG9jYWxuZXQKZmYwMDo6MCBpcDYtbWNhc3RwcmVmaXgKZmYw
Mjo6MSBpcDYtYWxsbm9kZXMKZmYwMjo6MiBpcDYtYWxscm91dGVycwpmZjAyOjozIGlwNi1h
bGxob3N0cwo=

-----

そのため、最新のメールプログラムで保存/デコードできる添付ファイルが付属しています。

1
Gombai Sándor