一,用phpmailer发送邮件
查看复制打印?
<?php
include "class.phpmailer.php"; //包函邮件发送类
//邮件发送
function send_mail($frommail,$tomail,$subject,$body,$ccmail,$bccmail) {
$mail = new PHPMailer();
$mail->IsSMTP(); // 经smtp发送
$mail->Host = "smtp.163.com"; // SMTP 服务器
$mail->SMTPAuth = true; // 打开SMTP 认证
$mail->Username = "zhangyinghf@163.com"; // 用户名
$mail->Password = "**********"; // 密码
$mail->From = $frommail; // 发信人
$mail->FromName = "suport of 51yip"; // 发信人别名
$mail->AddAddress($tomail); // 收信人
if(!emptyempty($ccmail)){
$mail->AddCC($ccmail); // cc收信人
}
if(!emptyempty($bccmail)){
$mail->AddCC($bccmail); // bcc收信人
}
$mail->WordWrap = 50;
$mail->IsHTML(true); // 以html方式发送
$mail->Subject = $subject; // 邮件标题
$mail->Body = $body; // 邮件内空
$mail->AltBody = "请使用HTML方式查看邮件。";
return $mail->Send();
}
$result= send_mail("zhangyinghf@163.com","xtaying@gmail.com","test","test");
?>
phpmailer的功能很多,非常的全面,你可以打开class.phpmailer.php文件看一下,他里面带了好多功能,发邮件常用的功能它都有。大致如下:
在发送邮时指定多个收件人,抄送地址,暗送地址和回复地址
支持多种邮件编码包括:8bit,base64,binary和quoted-printable
支持SMTP验证
支持冗余SMTP服务器
支持带附件的邮件和Html格式的邮件
自定义邮件头
支持在邮件中嵌入图片
调试灵活
经测试兼容的SMTP服务器包括:Sendmail,qmail,Postfix,Imail,Exchange等
可运行在任何平台之上
二,用smtp发送邮件
查看复制打印?
<?php
include "smtp.php";
$smtpserver = "smtp.163.com"; //SMTP服务器
$smtpserverport = 25; //SMTP服务器端口
$smtpusermail = "zhangyinghf@163.com"; //SMTP服务器的用户邮箱
$smtpuser = "zhangyinghf@163.com"; //SMTP服务器的用户帐号
$smtppass = "*********"; //SMTP服务器的用户密码
$smtpemailto = "xtaying@gmail.com"; //发送给谁
$mailsubject = "账号分配"; //邮件主题
$mailbody = "<h1>this is a test"; //邮件内容
$mailtype = "HTML"; //邮件格式(HTML/TXT),TXT为文本邮件
$smtp = new smtp($smtpserver,$smtpserverport,true,$smtpuser,$smtppass);//这里面的一个true是表示使用身份验证,否则不使用身份验证.
$smtp->debug = true;//是否显示发送的调试信息
$mailsubject = mb_convert_encoding($mailsubject, "gb2312", "utf-8");
$mailbody = mb_convert_encoding($mailbody, "gb2312", "utf-8");
$result= $smtp->sendmail($smtpemailto, $smtpusermail,$mailsubject, $mailbody, $mailtype);
?>
smtp的功能少多了,不过能满足基本的需求。