怎样用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格式的邮件的主要内容,如果未能解决你的问题,请参考以下文章