当前位置:Gxlcms > php框架 > phpmailer发送邮件功能

phpmailer发送邮件功能

时间:2021-07-01 10:21:17 帮助过:29人阅读

PHP内置的mail函数使用起来不够方便,另外受其他语言的影响,博主更偏好面向对象的包管理模式,因此phpmailer成为了我用PHP发送邮件的首选,这里分享给大家。

库导入

这里使用composer进行包管理,以下是json文件:

  1. {
  2. "name": "",
  3. "description": "test the mail",
  4. "require": {
  5. "PHPMailer/PHPMailer":"*"
  6. }
  7. }

使用样例

  1. <?php
  2. // include("./vendor/autoload.php");
  3. include("./vendor/phpmailer/phpmailer/class.phpmailer.php");
  4. include("./vendor/phpmailer/phpmailer/class.smtp.php");
  5. function postmail($to, $subject="", $body="")
  6. {
  7. $mail = new PHPMailer(); #创建PHPMailer实例
  8. $mail->CharSet = 'utf-8'; #设置编码形式,默认为iso-8859-1
  9. $mail->isSMTP(); #表示使用SMTP服务
  10. $mail->SMTPAuth = true; #使用SMTP认证
  11. $mail->Host = 'smtp.163.com'; #SMTP主机名,这里以163为例
  12. $mail->Username = "xxxx@163.com"; #SMTP服务的用户名
  13. $mail->Password = "xxxx"; #SMTP用户的密码(现在多采用授权码的形式)
  14. #下面的部分是用户可见的
  15. $mail->setFrom("xxxx@163.com","userName"); #第二个参数,用户看到的发送方的姓名,是可以随便改的
  16. $mail->Subject = $subject; #邮件主题
  17. $mail->msgHTML($body); #邮件内容,这里采用HTML形式
  18. $mail->addAddress($to,''); #地址,第二个参数是接受者,发送对象名为''时,163的测试结果是SMTP服务商会把它改成‘我'
  19. $mail->addAttachment('./php.png'); #添加附件
  20. #发送
  21. if($mail->send())
  22. {
  23. echo "邮件发送成功";
  24. }else
  25. {
  26. echo "邮件发送失败";
  27. }
  28. }
  29. postmail('xxxx@qq.com',"测试","你好吗");
  30. ?>

测试结果

博主使用163作为发送方,发送给QQ邮箱、163邮箱均通过测试。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

人气教程排行