2

uuencodeとを使用して複数の添付ファイルを送信することはできsendmailますか?

スクリプトには、次のような単一の電子メールに添付する必要があるファイルを含む変数があります。

$attachments=attachment_1.pdf attachment_2.pdf attachment_3.pdf attachment_4.pdf

また、次の$templateような変数:

$template="Subject: This is the subject
From: no-reply@domain.com
To: %s
Content-Type: text/plain

This is the body.
"

私は思いついた:

printf "$template" "$recipient" |
sendmail -oi -t

この内のどこかに、$attachments変数内のすべてを添付する必要がありますか?

4

2 に答える 2

6

uuencode添付して送信sendmail

MIME 添付ファイルを送信する方が優れています。
uuencodeスクリプトで実装する方が簡単ですが、一部のクライアントはそれをサポートしていません。

attachments="attachment_1.pdf attachment_2.pdf attachment_3.pdf attachment_4.pdf"
recipient='john.doe@example.net'

# () sub sub-shell should generate email headers and body for sendmail to send
(
# generate email headers and begin of the body asspecified by HERE document 
cat - <<END
Subject: This is the subject
From: no-reply@domain.com
To: $recipient
Content-Type: text/plain

This is the body.

END
# generate/append uuencoded attachments
for attachment in $attachments ; do
  uuencode $attachment $attachment
done
) | /usr/sbin/sendmail -i -- $recipient
于 2014-01-20T13:12:10.737 に答える