첨부파일과 이메일 본문을 표 형식으로 첨부하여 이메일을 보내야 합니다. 아래 코드를 사용하여 메일을 보내고 있습니다. 하지만 파일을 첨부할 수 없습니다.
(echo "From: ";
echo "Subject: testing of table using awk";
echo "Content-type: text/html";
echo;
awk 'BEGIN{print "<table>"} {print "<tr><tr>";for(i=1;i<=NF;i++)print "<td><td>" $i"</td></td>";print "</tr></tr>"} END{print "</table>"}' input1.txt;
) | sendmail [email protected]
답변1
mail
(첨부) 스위치를 지원하는 명령 버전을 사용해 보세요 . -a
이는 보다 안정적인 솔루션입니다.
달팽이들거기는!
email=foo@base
mail -v -s subject foo@bar -a file.txt -q - <<EOF
$(awk '
BEGIN{print "<table>"}
{
print "<tr><tr>";
for(i=1;i<=NF;i++) {
print "<td><td>" $i"</td></td>";
print "</tr></tr>";
}
}
END{print "</table>"}' input1.txt
)
.
EOF
man mail
제목 등을 추가해야 하는지 확인하세요 .
답변2
사용 sendmail
:
TO_ADDRESS="[email protected]"
SUBJECT="Test Mail"
cat << --OEF--
Subject: $SUBJECT
TO: $TO_ADDRESS
MIME-Version: 1.0
Content-Type: multipart/mixed;
boundary="MAIL_BOUNDARY"
--MAIL_BOUNDARY
Content-Type: multipart/alternative;
boundary="MAIL_BOUNDARY2"
--MAIL_BOUNDARY2
Content-Type: text/plain; charset=utf-8
$SUBJECT
--MAIL_BOUNDARY2
Content-Type: text/html; charset=utf-8
--OEF--
cat MailBody.html
cat << --OEF--
--MAIL_BOUNDARY2--
--MAIL_BOUNDARY
Content-Type: application/zip; name=file.zip
Content-Disposition: attachment; filename=file.zip
Content-Transfer-Encoding: base64
--OEF--
base64 /opt/file.zip
cat << --OEF--
--MAIL_BOUNDARY--
--OEF--
) | /usr/sbin/sendmail $TO_ADDRESS