Giả sử bạn có uunecode có sẵn trong hệ thống của bạn, bạn có thể gửi email với nhiều file đính kèm như thế này:
#!/bin/bash
...
...
...
BOUNDARY="=== This is the boundary between parts of the message. ==="
{
echo "From: $MAILFROM"
echo "To: $MAILTO"
echo "Subject:" $SUBJECT
echo "MIME-Version: 1.0"
echo "Content-Type: MULTIPART/MIXED; "
echo " BOUNDARY="\"$BOUNDARY\"
echo
echo " This message is in MIME format. But if you can see this,"
echo " you aren't using a MIME aware mail program. You shouldn't "
echo " have too many problems because this message is entirely in"
echo " ASCII and is designed to be somewhat readable with old "
echo " mail software."
echo
echo "--${BOUNDARY}"
echo "Content-Type: TEXT/PLAIN; charset=US-ASCII"
echo
echo "This email comes with multiple attachments."
echo
echo
echo "--${BOUNDARY}"
echo "Content-Type: application/zip; charset=US-ASCII; name="${ZIPFILE}
echo "Content-Disposition: attachment; filename="`basename ${ZIPFILE}`
echo
uuencode $ZIPFILE $ZIPFILE
echo
echo "--${BOUNDARY}--"
echo "Content-Type: application/pdf; charset=US-ASCII; name="${PDFFILE}
echo "Content-Disposition: attachment; filename="`basename ${PDFFILE}`
echo
uuencode $PDFFILE $PDFFILE
echo
echo "--${BOUNDARY}--"
} | /usr/lib/sendmail -t
Không phải tất cả các hệ thống sẽ có khả năng cài đặt mutt, vì vậy lời khuyên của bạn không phải là rất hữu ích cho ai đó có nhu cầu sử dụng sendmail hoặc mailx, như là câu hỏi :) – stevepastelan
@stevepastelan Sendmail chỉ đơn giản là không thể làm được nó mà không cần thêm công cụ. Những công cụ bạn chọn tùy thuộc vào bạn. – ShiDoiSi
Nhưng tất nhiên, sendmail * có thể * làm điều đó. Nó chỉ là một câu hỏi về cách định dạng nội dung để chuyển sang sendmail. – stevepastelan