我想用PHP发送邮件,方法有两种
第一种是用PHP的Mail函数,介绍如下:
http://www.w3school.com.cn/php/php_ref_mail.asp
但经过我的尝试,在PHP中使用mail(),没有任何结果,也没有报错,经过搜索,发现要使用mail()函数,需要经过一系列的配置。
第二种是用PHPMailer
下载地址:
https://code.google.com/a/apache-extras.org/p/phpmailer/downloads/list
相关使用教程百度上很多,在此推荐一个教学视频
InMotion Hosting - How to use PHPMailer
https://www.youtube.com/watch?v=JltHLzkghmY
刚开始我自己排错,经过一系列的google,还是未能解决问题。
我求助发帖
http://bbs.csdn.net/topics/390827966
最后我发现是由于将下一行的代码注释了,导致报错
$mail->SMTPAuth = true; // 启用SMTP验证功能
代码如下(此代码已经正确):
<?php
require("D:/Web/project1/company/feedback/PHPMailer_5.2.4/PHPMailer_5.2.4/class.phpmailer.php"); //下载的文件必须放在该文件所在目录
$mail = new PHPMailer(); //建立邮件发送类
$mail->SMTPDebug=false ;
$mail->IsSMTP(); // 使用SMTP方式发送
$mail->Host = "smtp.163.com"; // 您的企业邮局域名
$mail->Port = '25';
$mail->SMTPAuth = true; // 启用SMTP验证功能
$mail->Username = "mailer_from@163.com"; // 邮局用户名(请填写完整的email地址)
$mail->Password = "******"; // 邮局密码<span style="white-space:pre"> </span>(设置自己的密码)
$mail->From = "mailer_from@163.com"; //邮件发送者email地址
$mail->FromName = "Mailer_From";
$mail->AddAddress("mailer_to@163.com");//收件人地址,可以替换成任何想要接收邮件的email信箱,格式是AddAddress("收件人email","收件人姓名")
//$mail->AddReplyTo("", "");
//$mail->AddAttachment("/var/tmp/file.tar.gz"); // 添加附件
//$mail->IsHTML(true); // set email format to HTML //是否使用HTML格式
$mail->Subject = "PHPMailer测试邮件"; //邮件标题
$mail->Body = "Hello,这是测试邮件"; //邮件内容
$mail->AltBody = "This is the body in plain text for non-HTML mail clients"; //附加信息,可以省略
if(!$mail->Send())
{
echo "邮件发送失败. <p>";
echo "错误原因: " . $mail->ErrorInfo;
exit;
}else{
echo "邮件发送成功";
}
?>