怎样用Sendmail发送HTML格式的邮件

Posted

tags:

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

html作为附件发送就可以了。
先将来自HTML页面的数据解码,再调用unix系统sendmail命令即可。
例如下:#!/usr/local/bin/perl
#
&readparse;
print "Content-type: text/htmlnn";
#
#********* BEGIN BODY********************
#******** END BODY************************
#
# EACH VALUE IN THE HTML FORM WILL BE CONTAINED IN
# THE THE @VALUE ARRAY.
sub readparse
read(STDIN,$user_string,$ENV\'CONTENT_LENGTH\');
if (length($ENV\'QUERY_STRING\')>0) $user_string=$ENV\'QUERY_STRING\'
;
$user_string =~ s/+/ /g;
@name_value_pairs = split(/&/,$user_string);
foreach $name_value_pair (@name_value_pairs)
($keyword,$value) = split(/=/,$name_value_pair);
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/ge;
push(@value, "$value");
$user_data$keyword = $value;
if ($value=~/
参考技术A 正常编辑HTML代码,然后将HTML代码作为邮件的内容发送就可以了,只要收件人那边使用HTML模式来接收,一般都没有问题,现在很少有邮箱默认以TEXT模式接收邮件了本回答被提问者和网友采纳 参考技术B 你常编辑HTML代码,然后将HTML代码作为邮件的内容发送就可以了,只要收件人那边使用HTML模式来接收,一般都没有问题,现在很少有邮箱默认以TEXT模式接收邮件了‍。。。

在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

 

以上是关于怎样用Sendmail发送HTML格式的邮件的主要内容,如果未能解决你的问题,请参考以下文章

带有电子邮件/gmail文本格式的sendmail

OPENWRT 里的sendmail 发送邮件的详细方法吗

怎么利用php发送邮件求详细教程

如何用VBA代码控制OUTLOOK发送邮件

怎么用HTML格式发送邮件.既怎么发HTML格式的邮件..?

jenkins调用本地搭建sendmail邮件服务器发送邮件