Linux Docker容器中通过curl发送高优先级邮件的方法
如何用curl发送高优先级邮件?
curl确实没有专门设置邮件优先级的命令行参数,但可以通过在邮件内容中添加优先级相关的邮件头来实现,这是SMTP邮件的通用做法。
具体步骤如下:
方法1:修改原邮件内容文件
直接在你的error.txt文件开头添加优先级邮件头,注意邮件头和正文之间必须留空一行(这是邮件格式的强制要求,否则邮件头会被识别为正文)。示例内容:
X-Priority: 1 Importance: high 这里是原来的error.txt正文内容...
X-Priority: 1:属于旧的NNTP标准,1代表最高优先级(取值范围1-5,1最高、3正常、5最低)Importance: high:MIME标准的优先级标记,部分现代邮件客户端/服务器更认可这个
两个头都加上可以最大化兼容性。
方法2:不修改原文件,动态拼接内容
如果不想改动error.txt,可以用shell的进程替换功能,动态拼接邮件头和原文件内容,再传给curl:
curl ${REPORT_SMTP_SERVER} --mail-from ${REPORT_MAIL_FROM} --mail-rcpt ${REPORT_MAIL_TO} --upload-file <(echo -e "X-Priority: 1\nImportance: high\n\n" && cat error.txt)
这里echo -e用来生成带换行的邮件头,\n\n就是用来分隔邮件头和正文的空行。
内容的提问来源于stack exchange,提问作者olti
相关产品推荐
相关产品推荐

