### PHP 中的类－邮件群发

Linuxaid Wing
本类可以用与于 email 的群发,测试的环境是 linux,系统需要安装 sendmail 才能使用
<?php
if ( ! defined( 'MAIL_CLASS_DEFINED' ) ) {
define('MAIL_CLASS_DEFINED', 1 );
class email {
function email ( $subject, $message, $senderName, $senderEmail, $toList, $ccList=0, $bccList=0, $replyTo=0) {
$this->sender = $senderName . " <$senderEmail>";
$this->replyTo = $replyTo;
$this->subject = $subject;
$this->message = $message;
// 定义收件人
if ( is_array($toList) ) {
$this->to = join( $toList, "," );
} else {
$this->to = $toList;
}
// 定义抄送名单
if ( is_array($ccList) && sizeof($ccList) ) {
$this->cc = join( $ccList, "," );
} elseif ( $ccList ) {
$this->cc = $ccList;
}
// 定义密码抄送名单
if ( is_array($bccList) && sizeof($bccList) ) {
$this->bcc = join( $bccList, "," );
} elseif ( $bccList ) {
$this->bcc = $bccList;
}
}
// 发送函数
// 利用 php 中的 mail()函数发送 email
function send () {
//发件人
$this->headers = "From: " . $this->sender . " ";
// 回复地址
if ( $this->replyTo ) {
$this->headers .= "Reply-To: " . $this->replyTo . " ";
}
// 抄送
if ( $this->cc ) {
$this->headers .= "Cc: " . $this->cc . " ";
}
// 秘密抄送
if ( $this->bcc ) {
$this->headers .= "Bcc: " . $this->bcc . " ";
}
return mail ( $this->to, $this->subject, $this->message, $this->headers ); //返回结果
}
}
}
?>
说明:
参数说明
----------
- 以下几个参数是必须的:subject, message, senderName, senderEmail 和 toList
- 这几个参数则是可选的:ccList, bccList 和 replyTo
- toList, ccList 和 bccList 必须是有效的 email 地址
例如
-------
$m = new email ( "问候", 主题
"你好吗?", 正文
"Wing", 发件人姓名
"wing@linuxaid.com.cn", 发件人 email
array("aa@aa.com", "bb@bb.com”), 收件人
"cc@cc.com" 抄送
);
print "邮件已发送,发送结果:" . $m->send();