在Linux命令行下发送html格式的邮件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Linux命令行下发送html格式的邮件相关的知识,希望对你有一定的参考价值。

在Linux利用formail+sendmail来发送带图片的邮件

formail接收html格式的文件作为邮件的内容,这样就可以解决发送带图片邮件的问题了,因为html中可以插入图片,只要给出的img src为可用的链接就行了。

命令格式如下cat mailfile.html | formail -I "MIME-Version:1.0" -I "Content-type:text/html;charset=gb2312" -I "Subject:layer4 config monitor" | /usr/sbin/sendmail -oi ×××@×××.com
编码方式如果用utf8,显示出的中文为乱码,所以建议用gb2312,这样就没有乱码啦! 发送脚本范本如下#!/bin/bash
#send a mail  to all
#TIME=`date +%H:%M:%S`
for MAIL in `cat /home/service/mailscript/people`
do
TIME=`date +%H:%M:%S`
cat /home/service/mailscript/active_account.vm|formail -I "From: service" -I "To:$MAIL" -I "MIME-Version:1.0" -I "Content-type:text/html;charset=gb2312" -I "Subject:祝贺你"|/usr/sbin/sendmail -oi $MAIL
echo "$TIME--$MAIL sent ok!" >> /home/service/mailscript/mailtest.log
sleep 10
done

执行上面的脚本的时候注意要使用邮件系统的service系统用户来执行这个脚本。

参考:

今天终于搞定了如何在命令行的情况下发送带图片的邮件。其实思路很简单的,只是以前没有注意到。如何实现呢?就是利用formail+sendmail啦!

formail接受html格式的文件作为邮件内容,这样就可以解决发送带图片邮件的问题啦,因为html中可以插入图片,只要给出的img src为可用的链接就行了。嗯嗯经过测试能够实现既定功能。

cat mailfile.html | formail -I "MIME-Version:1.0" -I "Content-type:text/html;charset=gb2312" -I "Subject:layer4 config monitor" | /usr/sbin/sendmail -oi ×××@×××.com

不行你用上面的命令来试试,觉得好用。不过还有一点就是编码问题,我用的foxmail,如果用utf8,显示出的中文为乱码,所以建议用gb2312,这样就没有乱码啦!

linux

 

以上是关于在Linux命令行下发送html格式的邮件的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 linux 命令行发送 HTML 电子邮件

怎么在Linux命令行下转换doc文件到pdf格式

linux的学习系列 6---打印文件和发送邮件

我应该如何使用 Outlook 发送代码片段?

Jenkins发送html格式的邮件,收到的显示乱码,而且木有格式

一个弱弱的LINUX系统问题:LINUX命令行下如何查看服务器配置啊~!?