PHP邮件发送(转)
php带有内置的mail() 发送邮件函数,但是较为繁琐;建议上网下载一个PHPMailer;
一般有两个文件,左边的文件夹是包含class类文件等,右边就是发送配置文件
<?php require 'phpmailer/class.phpmailer.php';
$mail = new PHPMailer(); $mail->IsSMTP(); $mail->CharSet = 'utf-8';
$mail->Host = 'smtp.qq.com';//这里设置你要选择发送的邮箱类型 // 如果是QQMAIL必须用设置SSL还有端口 $mail->SMTPSecure = 'ssl'; //设置使用ssl加密方式登录鉴权 $mail->Port = 465;//设置ssl连接smtp服务器的远程服务器端口号 可选465或587 $mail->SMTPAuth = true; //smtp需要鉴权 这个必须是true $mail->Username = '豪';//这里设置你选的邮箱的用户名 $mail->Password = '123456789';//QQ邮箱的话,这里设置你选的邮箱的密码,授权码;如果是其他邮箱则是邮箱密码 $mail->From = 'xxx@qq.com';//发送邮件的邮箱地址 $mail->FromName = 'Jacko';//发送邮件的名字 $mail->Subject = '测试';//这个好像是标题 $mail->Body = '你好,这封是测试邮件';//这个好像是内容 $mail->AddAddress("xxxx@qq.com", $name = "小明");//第一个是接收人的邮箱的地址,第二个是接收人的名字 $result = $mail->send();
if($result){ echo '发送成功'; }else{ echo '发送失败'; }
?>
一般PHPMailer的文件可以从网上找到,我们下载后主要根据自己的邮箱类型来修改发送文件配置,上面备注红色的是一定要去自己修改的,一般163的邮箱是HOST那里是写smtp.163.com,如果是QQ邮箱就如上,还有要设置ssl和端口,这样才能成功发送出去; 发送不出去的话,还有以下原因: (1)邮箱没有开启SMTP的权限,这个你要登陆自己邮箱里面设置开启;一般这样就基本可以发送了! (2)或者是你的SSL没有开启,这个需要到php.ini里面修改;如下图 这个phpemailer大概就是需要配置这些东西,至于php自带的mail(),我也在研究,有经验的大牛,请指点指点!
http://www.cnblogs.com/jacko/p/5115459.html