mailx を使用して、平文の添付ファイルを 1 つ含む平文の本文の電子メールを送信します。
(
/usr/bin/uuencode attachfile.txt myattachedfilename.txt;
/usr/bin/echo "Body of text"
) | mailx -s 'Subject' youremail@gmail.com
以下は、改行なしで、上記と同じコマンドです
( /usr/bin/uuencode /home/el/attachfile.txt myattachedfilename.txt; /usr/bin/echo "Body of text" ) | mailx -s 'Subject' youremail@gmail.com
/home/el/attachfile.txt
次の内容で定義されたファイルがあることを確認してください。
<html><body>
Government discriminates against programmers with cruel/unusual 35 year prison
sentences for making the world's information free, while bankers that pilfer
trillions in citizens assets through systematic inflation get the nod and
walk free among us.
</body></html>
uuencode がない場合は、これを読んでください: https://unix.stackexchange.com/questions/16277/how-do-i-get-uuencode-to-work
Linux では、sendmail を使用して、HTML 本文に PDF が添付された電子メールを送信します。
ksh がインストールされていることを確認します。yum info ksh
sendmail がインストールされ、構成されていることを確認してください。
uuencode がインストールされ、利用可能であることを確認してください: https://unix.stackexchange.com/questions/16277/how-do-i-get-uuencode-to-work
という名前の新しいファイルを作成test.sh
し、ホーム ディレクトリに配置します。/home/el
に次のコードを挿入しtest.sh
ます。
#!/usr/bin/ksh
export MAILFROM="el@defiant.com"
export MAILTO="youremail@gmail.com"
export SUBJECT="Test PDF for Email"
export BODY="/home/el/email_body.htm"
export ATTACH="/home/el/pdf-test.pdf"
export MAILPART=`uuidgen` ## Generates Unique ID
export MAILPART_BODY=`uuidgen` ## Generates Unique ID
(
echo "From: $MAILFROM"
echo "To: $MAILTO"
echo "Subject: $SUBJECT"
echo "MIME-Version: 1.0"
echo "Content-Type: multipart/mixed; boundary=\"$MAILPART\""
echo ""
echo "--$MAILPART"
echo "Content-Type: multipart/alternative; boundary=\"$MAILPART_BODY\""
echo ""
echo "--$MAILPART_BODY"
echo "Content-Type: text/plain; charset=ISO-8859-1"
echo "You need to enable HTML option for email"
echo "--$MAILPART_BODY"
echo "Content-Type: text/html; charset=ISO-8859-1"
echo "Content-Disposition: inline"
cat $BODY
echo "--$MAILPART_BODY--"
echo "--$MAILPART"
echo 'Content-Type: application/pdf; name="'$(basename $ATTACH)'"'
echo "Content-Transfer-Encoding: uuencode"
echo 'Content-Disposition: attachment; filename="'$(basename $ATTACH)'"'
echo ""
uuencode $ATTACH $(basename $ATTACH)
echo "--$MAILPART--"
) | /usr/sbin/sendmail $MAILTO
の上部にあるエクスポート変数を変更しtest.sh
て、アドレスとファイル名を反映させます。
テスト PDF ドキュメントをダウンロードし、/home/el
pdf-test.pdf という名前で配置します。
/home/el/email_body.htm というファイルを作成し、次の行を入れます。
<html><body><b>this is some bold text</b></body></html>
PDF ファイルに十分な 755 権限があることを確認してください。
スクリプトを実行する./test.sh
メールの受信トレイを確認してください。テキストは HTML 形式で、pdf ファイルは自動的にバイナリ ファイルとして解釈されます。この機能を 1 日に 15 回以上使用しないように注意してください。たとえ自分にメールを送信したとしても、gmail のスパム フィルターは、メールを送信するドメインをブラックリストに登録することができます。そして、これが機能しなくなったり、添付ファイルのみを通過させたり、電子メールがまったく届かなかったりすることがわかります。これについて多くのテストを行う必要がある場合は、テストを何日にもわたって実施しないと、スパマーのレッテルを貼られて、この機能が機能しなくなります。