温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

使用PHPMailer和ThinkPHP怎么实现自动发送邮件功能

发布时间:2021-05-22 16:28:24 来源:亿速云 阅读:168 作者:Leah 栏目:开发技术

使用PHPMailer和ThinkPHP怎么实现自动发送邮件功能?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

1.下载PHPMailer类包,放入ThinkPHP的Vendor目录,这是ThinkPHP的第三方类库目录

2.然后在项目目录下common文件夹下,在common.PHP(ThinkPHP中此文件会自动被引用,如果没有,新建一个common.php)中新增调用发送邮件的函数:

/********************************Email**********************************/

//邮发方法的定义
function s_mail($sendto, $title, $response) {
  //导入函数包的类class.phpmailer.php
  vendor ( "PHPMailer.class#phpmailer" );

  // 参数说明(发送到的邮箱地址, 邮件主题, 邮件内容, 接受方的的姓名)
  //填写要发送给管理员的邮件接受地址,请改为正确的地址
  $sendto_mail = $sendto;
  //邮件主题
  $subject = $title;
  //意见内容
  $body = $response;
  //发送邮件
  smtp_mail ( $sendto_mail, $subject, $body );

}

//下面定义一个发送邮件的函数,已经测试通过。
//$sendto_email:邮件发送地址
//$subject:邮件主题
//$body:邮件正文内容
//$sendto_name邮件接受方的姓名,发送方起的名字。一般可省。
function smtp_mail($sendto_email, $subject = null, $body = null, $sendto_name = null) {
  //新建一个邮件发送类对象
  $mail = new PHPMailer ();
  // send via SMTP
  $mail->IsSMTP ();
  // SMTP 邮件服务器地址,这里需要替换为发送邮件的邮箱所在的邮件服务器地址
  $mail->Host = "smtp.qq.com";
  //邮件服务器验证开
  $mail->SMTPAuth = true;
  // SMTP服务器上此邮箱的用户名,有的只需要@前面的部分,有的需要全名。请替换为正确的邮箱用户名
  $mail->Username = "xxxx@qq.com";
  // SMTP服务器上该邮箱的密码,请替换为正确的密码
  $mail->Password = "xxxx";
  // SMTP服务器上发送此邮件的邮箱,请替换为正确的邮箱 ,与$mail->Username 的值是对应的。
  $mail->From = "xxxx@qq.com";
  // 真实发件人的姓名等信息,这里根据需要填写
  $mail->FromName = "[".date('Y-m-d H:i:s',time ())."]需求系统邮件";
  // 这里指定字符集!
  $mail->CharSet = "utf-8";
  $mail->Encoding = base64;
  // 收件人邮箱和姓名
  $mail->AddAddress ( $sendto_email, $sendto_name );
  //这一项根据需要而设
  $mail->AddReplyTo ( 'xxxx@qq.com', "admin" );
  // set word wrap
  //$mail->WordWrap = 50;
  // 附件处理
  //$mail->AddAttachment("/var/tmp/file.tar.gz");
  //$mail->AddAttachment("/tmp/image.jpg", "new.jpg");
  // 发送 HTML邮件
  $mail->IsHTML ( false );
  // 邮件主题
  $mail->Subject = $subject;
  // 邮件内容
  $mail->Body = $body;
  $mail->AltBody = "text/html";

  if (! $mail->Send ()) {
    return 0;
  } else {
    return 1;
  }
}

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI