Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Unix发送带有附件的电子邮件_Unix_Awk - Fatal编程技术网

使用Unix发送带有附件的电子邮件

使用Unix发送带有附件的电子邮件,unix,awk,Unix,Awk,我正在使用以下脚本从Unix服务器发送电子邮件。我需要附加一个文件,该文件位于脚本可用的相同位置-/home/app111/attachment.csv 你能帮我如何发送附件中的文件吗 `CUR_DATE=`date +%Y/%m/%d` echo $CUR_DATE awk ' BEGIN { print "To: XXXX@gmail.com" print "From: YYYY@gmail.com" print "MIME-Version: 1.0" print "Content-Typ

我正在使用以下脚本从Unix服务器发送电子邮件。我需要附加一个文件,该文件位于脚本可用的相同位置-/home/app111/attachment.csv

你能帮我如何发送附件中的文件吗

`CUR_DATE=`date +%Y/%m/%d`
echo $CUR_DATE
awk ' BEGIN {
print "To: XXXX@gmail.com"
print "From: YYYY@gmail.com" 
print "MIME-Version: 1.0"
print "Content-Type: text/html"
print "Subject: PO file '$CUR_DATE'"
print "<html><body><font face="Times New Roman" size="10">Hi All,<br></br>
<br>Please load the attached PO file</br><br/>"
print "<br>Thanks,</br></font></body></html>"
} ' | sendmail -t`
`CUR\u DATE=`DATE+%Y/%m/%d`
回显$CUR_日期
开始{
“打印”至:XXXX@gmail.com"
“打印”自:YYYY@gmail.com" 
打印“MIME版本:1.0”
打印“内容类型:文本/html”
打印“主题:采购订单文件“$CUR_DATE”
打印“Hi All,


请加载随附的采购订单文件

” 打印“
谢谢,
” }| sendmail-t`
1

如果支持mailx-a功能,则使用
mailx-a

二,

使用
uuencode filenm | mailxs@abc.com

三,
mutt-a filenma@abc.com

如果你真的想使用sendmail(而不是mail或mutt),你必须用base64编码你的附件,并将其与你的邮件、边界和整个九码连接起来。这里有一篇很棒的文章,通过一个代码示例准确地描述了您想要做什么:

如果您使用的是带有mutt或mail的Unix或Linux,我肯定会推荐其中一种,而不是sendmail,因为它会更简单(本文也介绍了这些解决方案)。下面是一个示例,说明了如何使用邮件执行此操作:

CUR_DATE=`date +%Y/%m/%d`
echo $CUR_DATE
to="XXXX@gmail.com"
from="YYYY@gmail.com"
content_type="text/html"
file_to_attach="/home/app111/attachment.csv"
subject="PO file '$CUR_DATE'"
read -r -d '' body << 'EOF'
<html><body><font face="Times New Roman" size="10">Hi All,<br></br>
<br>Please load the attached PO file</br><br/>
<br>Thanks,</br></font></body></html>
EOF
mail -A "$file_to_attach" --content-type "$content_type" -s "$subject" -r "$from" "$to" <<< "$body"
当前日期=`DATE+%Y/%m/%d` 回显$CUR_日期 to=”XXXX@gmail.com" from=”YYYY@gmail.com" content\u type=“text/html” 文件至附件=“/home/app111/attachment.csv” 主题=“采购订单文件“$CUR\u DATE” 读取-r-d“”正文尝试以下操作:

MAILFROM="YYYY@gmail.com"
MAILTO="XXXX@gmail.com"
SUBJECT="PO file '$CUR_DATE'"
MAILPART_BODY=q1w2e3r4t5 ## Generates Unique ID
MAILPART=q1qw2ew3r4t35 ## Generates Unique ID
ATTACH="/home/app111/attachment.csv"


(
 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"
 echo "<html><body><font face="Times New Roman" size="10">Hi All,<br></br>
<br>Please load the attached PO file</br><br/>"
 echo "<br>Thanks,</br></font></body></html>"
 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--"
 ) | sendmail -t
MAILFROM=”YYYY@gmail.com"
MAILTO=”XXXX@gmail.com"
主题=“采购订单文件“$CUR\u DATE”
MAILPART_BODY=q1w2e3r4t5##生成唯一ID
MAILPART=q1qw2ew3tr4t35##生成唯一ID
ATTACH=“/home/app111/attachment.csv”
(
回显“发件人:$MAILFROM”
回显“收件人:$MAILTO”
回显“主题:$Subject”
echo“MIME版本:1.0”
echo“内容类型:多部分/混合;边界=\“$MAILPART\”
回声“”
echo“-$MAILPART”
echo“内容类型:多部分/可选;边界=\“$MAILPART\u BODY”
回声“”
回声“$MAILPART_BODY”
echo“内容类型:文本/普通;字符集=ISO-8859-1”
echo“您需要为电子邮件启用HTML选项”
回声“$MAILPART_BODY”
echo“内容类型:text/html;字符集=ISO-8859-1”
echo“内容配置:内联”
回声“大家好,


请加载随附的采购订单文件

” 回声“
谢谢,
” echo“-$MAILPART_BODY--” echo“-$MAILPART” echo“内容类型:application/pdf;name=“$(basename$ATTACH)”” echo“内容传输编码:uuencode” echo“内容处置:附件;文件名=“$(basename$ATTACH)”” 回声“” uuencode$ATTACH$(basename$ATTACH) echo“-$MAILPART--” )| sendmail-t
就我个人而言,我使用
mutt
-a
标志接收一个文件。类似于
echo“电子邮件正文”| mutt-s“主题:PO文件“$CUR_DATE””-e“设置内容”\u type=text/html“-e”my_hdr FROM:YYYY@gmail.com“-a/path/to/attached/fileXXXX@gmail.com