php功能-php发送电子邮件
*.这里推荐使用 PHPMailer,PHPMailer是一个用于发送电子邮件的PHP函数包
*.在发送邮时指定多个收件人,抄送地址,暗送地址和回复地址
*.支持多种邮件编码包括:8bit,base64,binary和quoted-printable
*.支持SMTP验证
*.支持冗余SMTP服务器
*.支持带附件的邮件和Html格式的邮件
*.自定义邮件头
*.支持在邮件中嵌入图片
*.调试灵活
*.经测试兼容的SMTP服务器包括:Sendmail,qmail,Postfix,Imail,Exchange等
*.可运行在任何平台之上
PHP内部的mail函数
mail函数
php本身提供了一个邮件发送函数mail,可以在程序中直接发送电子邮件,不过该函数要求服务器支持sendmail或者必须设置一台不需要中继的邮件发送服务器,但现在要找到一台不需要身份验证的邮件发送中继几乎不可能,所以使用mail函数往往无法成功发送email.
自己如果熟悉SMTP协议,结合socket功能就可以编写高效稳定的邮件发送程序,但对一般用户来说太困难.好在互联网上已经有很多别人编写好的邮件发送模块,我们只需要下载后简单调用即可,十分方便.
第一步:需要下载PHPMailer文件包(地址: http://code.google.com/a/apache-extras.org/p/phpmailer/)
第二步:确认你的服务器系统已经支持socket 如下图,通过phpinfo();查看是否支持sockets
如果没有这一项就请注意: socket 是属于PHP扩展部分,编译时必须给定一个用于./configure --enable-sockets 的配置选项。
第三步:把文件解压到你的web服务器目录下,调用类就可以了,说明:首先包含 class.phpmailer.php,然后创建对象,设置参数,调用成员函数。具体请见下面的示例代码:
[php]
// 后台php程序
public function smtp_mail( $sendto_email, $subject, $body='空值', $extra_hdrs, $user_name){
require("phpmailer/class.phpmailer.php"); //下载的文件必须放在该文件所在目录
$mail = new PHPMailer(); //建立邮件发送类
$mail->IsSMTP(); // 使用SMTP方式发送
$mail->Host = "smtp.163.com"; // 您的企业邮局域名
$mail->SMTPAuth = true; // 启用SMTP验证功能
$mail->Username = "test123"; // SMTP username 注意:普通邮件认证不需要加 @域名
$mail->Password = "password"; // SMTP password
$mail->From = "test123@163.com"; // 发件人邮箱
$mail->FromName = "Senduser"; // 发件人
$mail->CharSet = "UTF-8"; // 这里指定字符集!
$mail->Encoding = "base64";
$mail->AddAddress($sendto_email,"收件人姓名"); // 收件人邮箱和姓名
// $mail->AddReplyTo("","");
// $mail->WordWrap = 50; // set word wrap 换行字数
// $mail->AddAttachment("/var/tmp/file.tar.gz"); // attachment 附件
$mail->IsHTML(true); // 是否使用HTML格式
// 邮件主题
$mail->Subject = $subject;
// 邮件内容
$mail->Body =$body;
$mail->AltBody ="text/html"; //附加信息,可以省略
if(!$mail->Send())
{
echo "邮件发送有误 <p>";
echo "邮件错误信息: " . $mail->ErrorInfo;
exit;
}
else {
echo "$user_name 邮件发送成功!<br />";
}
}
public function send_email($youmail,$title,$body,$aa,$bb){
echo '验证';
// 参数说明(发送到, 邮件主题, 邮件内容, 附加信息, 用户名)
$time = date('Y年m月d日',time());
echo $time;
$this-> smtp_mail("接收邮箱", '邮件主题', "body内容", "AA", "bb");
}
[/php]