实例分析PHP中PHPMailer发邮件

时间:2018-01-15

index.php代码如下:

<?php
require_once("./functions.php");
$to=$_POST['mail'];
$title=$_POST['title'];
$content=$_POST['content'];
$flag = sendMail($to,$title,$content);
if($flag){
 echo "发送邮件成功!";
}else{
 echo "发送邮件失败!";
}
?>

如果你使用的是QQ企业邮箱,那么链接qq域名邮箱的服务器地址和smtp登录的密码就不同了:

//链接qq域名邮箱的服务器地址
$mail->Host = 'smtp.exmail.qq.com';
//smtp登录的密码 (QQ企业邮箱的登录密码)
$mail->Password = '登录密码';

ThinkPHP使用PHPMailer 发送邮件

PHPMailer解压到ThinkPHPLibraryVendor

在Common文件夹新建function.php

/**
 * 邮件发送函数
 * @param $to:接收者 $title:标题 $content:邮件内容
 * @return bool true:发送成功 false:发送失败
 */
function sendMail($to, $title, $content) {
 Vendor('PHPMailer.PHPMailerAutoload');
 Vendor('PHPMailer.class.smtp');
 $mail = new PHPMailer(); //实例化
 $mail->IsSMTP(); // 启用SMTP
 $mail->Host=C('MAIL_HOST'); //smtp服务器的名称
 $mail->SMTPSecure = C('MAIL_SECURE');
 $mail->Port = C('MAIL_PORT');
 $mail->SMTPAuth = C('MAIL_SMTPAUTH'); //启用smtp认证
 $mail->Username = C('MAIL_USERNAME'); //你的邮箱名
 $mail->Password = C('MAIL_PASSWORD') ; //邮箱密码
 $mail->From = C('MAIL_FROM'); //发件人地址(也就是你的邮箱地址)
 $mail->FromName = C('MAIL_FROMNAME'); //发件人姓名
 $mail->AddAddress($to,"尊敬的客户");
 $mail->WordWrap = 50; //设置每行字符长度
 $mail->IsHTML(C('MAIL_ISHTML')); // 是否HTML格式邮件
 $mail->CharSet=C('MAIL_CHARSET'); //设置邮件编码
 $mail->Subject =$title; //邮件主题
 $mail->Body = $content; //邮件内容
 $mail->AltBody = "您好"; //邮件正文不支持HTML的备用显示
 return($mail->Send());
}

 

添加配置文件config.php

// 配置邮件发送服务器
 'MAIL_HOST' =>'smtp.qq.com',//smtp服务器的名称
 'MAIL_SMTPAUTH' =>true, //启用smtp认证
 'MAIL_USERNAME' =>'12345678@qq.com',//你的邮箱名
 'MAIL_FROM' =>'12345678@qq.com',//发件人地址
 'MAIL_FROMNAME'=>'12345678@qq.com',//发件人姓名
 'MAIL_PASSWORD' =>'xxxxxx,//邮箱密码
 'MAIL_CHARSET' =>'utf-8',//设置邮件编码
 'MAIL_ISHTML' =>TRUE, // 是否HTML格式邮件
 'MAIL_PORT' =>'465',//设置ssl连接smtp服务器的远程服务器端口号
 'MAIL_SECURE' =>'ssl',//设置使用ssl加密方式登录鉴权

 

最后就是使用PHPMailer发送邮件

<!doctype html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Document</title>
</head>
<body>
<form action="/index.php/Admin/test/add" method="post" enctype="multipart/form-data">
 邮箱:<input type="text" id="mail" name="mail"/>
 标题:<input type="text" id="title" name="title"/>
 内容<input type="text" id="content" name="content"/>
 <input type="submit" value="发送"/>
</form>
</body>
</html>
public function add(){
  if(sendMail($_POST['mail'],$_POST['title'],$_POST['content']))
   echo "发送成功";
  else
   echo "发送失败";
 }
  • 共2页:
  • 上一页
  • 2/2下一篇
    上一篇:Laravel使用消息队列需要注意的一些问题 下一篇:使用XHProf查找PHP性能瓶颈的实例

    相关文章

    最新文章