工作,学习,生活,这里将会有一些记录. 备用域名:http://meisw.51099.com 注册 | 登陆
浏览模式: 标准 | 列表分类:mail

PHP使用mail函数发送邮件 UTF8编码时标题会乱码

PHP程序使用mail()函数发送邮件的时候,标题中文的话会出现乱码。

解决方法:

先用函数base64_encode() — 使用 MIME base64 对数据进行编码

标题字符串前加编码类型例如: =?UTF-8?B?

标题字符串后加:?=

邮件header说明Content-type — 防止邮件正文也乱码

举例:

以下为引用的内容:

 $to         = 'xinple@example.com';
$subject  = "=?UTF-8?B?".base64_encode('邮件标题')."?=";
$headers  = 'MIME-Version: 1.0' . "rn";
$headers .= 'Content-type: text/html; charset=utf-8' . "rn";
// Additional headers
$headers .= 'To: Xinple <xinple@example.com>' . "rn";
$headers .= 'From: Admin <admin@example.com>' . "rn";
$headers .= 'Reply-To: Xinple <xinple@example>' . "rn";
mail($to, $subject, $message, $headers);

反垃圾邮件XBL,SBL,PBL,ROKSO

spamhaus是目前世界上影响最大反垃圾邮件组织,只要被它列入黑名单,你的邮件服务器就算瘫痪了,因为据说全球80%以上的服务器会拒收从你的邮件服务器发去邮件.他们提供四种类型XBL,SBL,PBL,ROKSO.国内有很多IP被列为了spamhaus这几类RBL当中.今天我们来说说如何对列为PBL的IP进行申诉.

首先到http://www.spamhaus.org/pbl/index.lasso 的Look Up中对你邮件服务器使用的IP进行查询

www.spamhaus.org提供包括以下的几种:

XBL(Exploits Block List):它是针对因为安全问题被劫持(比如僵尸机)或是蠕虫/病毒,带有内置式垃圾邮件引擎和其他类型的木马来发垃圾邮机器的实时黑名单IP列表。它的数据主要来源于两个合作组织:cbl.abuseat.org及www.njabl.org.因为被列入XBL的服务器大多为被第三方劫持利用,所以有可能导致误判断。

SBL(The Spamhaus Block List):它是已经经过验证的垃圾邮件源及确有垃圾邮件发送行为的实时黑名单列表。它也是spamhaus最主要的项目之一,由分布在全世界9个国家的,每周7天,每天24小时进行列入新记录和删除记录的工作。所以,这个列表可信度高使用人数也多。如果你被列入算是严重事件,被列入后,需要你的ISP(电信或是网通)的IP管理人员去和Spamhaus联系才有可能移除。

PBL(The Policy Block List):它主要是包含动态IP及哪些允许未经验证即可发送邮件的SMTP服务器的IP地址段。这一个列表最明显的特点就是提供了一个IP地址移除的自助服务,IP它列入后,可以自己申请移除。所以就算是被PBL列入,影响并不大,请要使用移除功能移除即可,方法请看:spamhaus的PBL申诉图解 http://www.5dmail.net/bbs/viewth ... p%3Bfilter%3Ddigest

ZEN:这个简单,就是上面三个的合集,即包括上面XBL,SBL,PBL的数据。

ROKSO(The Register of Known Spam Operations):这个最严重了。字面上就可以理解了进了这个数据库的人物都是有确切的证据证明垃圾邮件行为。属于专业的发送垃圾邮件的组织或是个人。spamhaus认为全世界80%的垃圾邮件来自于这个数据库中的成员发出。根据spamhaus列出截止4/11/08的名单的数据显示,112条记录中我国有9笔,其中中国4笔,香港2笔,台湾3笔.而美国占大部分,所以难怪大家收到的都是英文的垃圾邮件了。

经上所述:

1)如果你考虑选哪一个RBL的话,我建议保守的是用SBL,然后选XBL+SBL.最后是ZEN;

2)如果你提心被哪一个列被最严重,按严重级别由重到轻分别为:ROKSO->SBL->XBL->PBL

qmail

rpm -ivh igenus-daemontools-0.76-5.0.i386.rpm

rpm -ivh igenus-ucspi-tcp-0.88-5.0.i386.rpm

rpm -ivh igenus-vpopmail-5.4.17-5.1.i386.rpm

[root@ctnt-mm i386]# rpm -ivh igenus-vpopmail-5.4.17-5.1.i386.rpm
error: Failed dependencies:
        libmysqlclient.so.14 is needed by igenus-vpopmail-5.4.17-5.1.i386
        mysql >= 3.23.54 is needed by igenus-vpopmail-5.4.17-5.1.i386
    Suggested resolutions:
        mysql-4.1.7-4.RHEL4.1.i386.rpm

其它机上查找
[root@centos ~]# find / -name "libmysqlclient.so.14"
/usr/lib/mysql/libmysqlclient.so.14
确定目录
本机查找,因本机为tar安装,且为5
http://mirror.centos.org/centos-4/4.7/os/i386/CentOS/RPMS/
下载 mysql-4.1.22-2.el4.i386.rpm
需要 安装 perl-DBI-1.40-9.i386.rpm
OK

rpm -ivh igenus-qmail-1.03-5.0.i386.rpm

rpm -ivh igenus-courier-authlib-4.1.3-5.0.i386.rpm
[root@ctnt-mm i386]# rpm -ivh igenus-courier-authlib-0.59.3-5.0.i386.rpm
error: Failed dependencies:
        /usr/bin/expect is needed by igenus-courier-authlib-0.59.3-5.0.i386
    Suggested resolutions:
        expect-5.42.1-1.i386.rpm

rpm -ivh expect-5.42.1-1.i386.rpm


rpm -ivh igenus-maildrop-2.0.4-5.0.i386.rpm

rpm -ivh igenus-courier-imap-4.1.3-5.0.i386.rpm

rpm -ivh igenus-clamav-0.94-5.0.i386.rpm

rpm -ivh igenus-spamassassin-3.1.8-5.0.i386.rpm
error: Failed dependencies:
        perl(Digest::SHA1) is needed by igenus-spamassassin-3.1.8-5.0.i386
    Suggested resolutions:
        perl-Digest-SHA1-2.07-5.i386.rpm
rpm -ivh perl-Digest-SHA1-2.07-5.i386.rpm


rpm -ivh igenus-ripmime-1.4.0.6-5.0.i386.rpm

rpm -ivh igenus-simscan-1.4.0-5.1.i386.rpm

rpm -ivh igenus-autorespond-2.0.5-5.0.i386.rpm

rpm -ivh igenus-ezmlm-idx-0.40-5.0.i386.rpm


rpm安装完毕


perl(HTTP::Date)
perl(LWP::UserAgent)
http://mirror.centos.org/centos-5/5.2/os/x86_64/CentOS/perl-libwww-perl-5.805-1.1.1.noarch.rpm

1、依赖关系的解决,安装Spamassassin需要很多perl模块的支持,以下是所需模块列表及安装方法,各软件包都可从CPAN取得;

必须的软件包:
Digest::SHA1
HTML::Parser >=3.43
Net::DNS >= 0.34
LWP (aka libwww-perl)
HTTP::Date
IO::Zlib >= 1.04
Archive::Tar  >=1.23

export LC_ALL=C


config
vpopmail
vchkpw

grant select,insert,update,delete,create,alter,drop on vpopmail.* to vpopmail@localhost identified by '';
create database vpopmail

/home/vpopmail/bin/vadddomain domain

 

sendmail

每天console上或/var/adm/mail.log里仍报这种信息:
Feb 11 21:02:46 hpaps sendmail[10632]: My unqualified host name (hpaps) unknown;
 sleeping for retry
Feb 11 21:02:46 hpaps sendmail[10632]: unable to qualify my own domain name (hpaps) -- using short name

 

由于你没有用到域名,所以/etc/mail/sendmail.cf中“Dj$w.hpaps”  这一行应该注释掉,否则系统sendmail时会把hpaps 作为域名加到主机名后组成完整的长名 hpaps.hpaps来访问,系统当然就会报“unable to qualify my own domain name (hpaps)” ,因为此时根据你的配置,hpaps还是你的域名,系统肯定找不到。

 

原文 http://www.chinaunix.net/jh/8/13642.html

sendmail.mailq

用mailq查看邮件列表时很慢,修改 /etc/hosts

如:127.0.0.1 localhost.localdomain localhost.