Centos
發送郵件附件
我想知道是否可以在 sendmail 中包含附件。我正在使用以下佈局生成以下 emailfile.eml 文件
From: Company Name <example@nowhere.com> To: recipient@madeup.com CC: someoneelse@place.com Subject: Generated Output Mime-Version: 1.0 This will be the body copy even though it's terrible
我正在使用發送這些電子郵件
# /usr/sbin/sendmail -t < emailfile.eml
這部分是工作文件,但我想在這封電子郵件中包含一個附件,但我還沒有弄清楚怎麼做
發布對我有用的解決方案,以防它可以幫助其他人,抱歉,來晚了。
我發現這樣做的最可靠方法是將附件作為 base64 包含在 eml 文件本身中,下面是 eml 內容的範例。
注意01:文件的base64來自使用附件作為參數在linux上執行base64命令(應該與任何base64工具一起使用)
注意02:用於邊界的字元串只是胡說八道,使用日期和隨機大寫字母
文件名:emlfile.eml
From: Sender <sender@email.co.za> To: recipient01@email.co.za CC: recipient02@email.co.za Disposition-Notification-To: recipient01@email.co.za Subject: Generic Subject Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="19032019ABCDE" --19032019ABCDE Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Content-Disposition: inline Generic Body Copy --19032019ABCDE Content-Type: application; Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="MyPdfAttachment.pdf" *base64 string goes here (no asterix)* --19032019ABCDE--
然後可以使用命令發送 filename.eml 文件,它將包含附件
# /usr/sbin/sendmail -t < filename.eml
mutt
你可以簡單地使用:echo "This is the message body" | mutt -a "/path/to/file_to_attach" -s "subject of message" -- recipient@domain.com
使用
mail -a /opt/emailfile.eml -s "Email File" user@example.com < /dev/null
-a
用於附件。您可以使用
SendEmail
:sendemail -t to@example.com -m "Here is the file." -a attachmentFile