首頁  >  文章  >  後端開發  >  phpmailer實作發送郵件的功能

phpmailer實作發送郵件的功能

黄舟
黄舟原創
2017-08-22 09:16:091449瀏覽

這篇文章主要為大家詳細介紹了phpmailer發送郵件功能,具有一定的參考價值,有興趣的小夥伴們可以參考一下

PHP內建的mail函數使用起來不夠方便,另外受其他語言的影響,部落客更偏好物件導向的套件管理模式,因此phpmailer成為了我用PHP發送郵件的首選,這裡分享給大家。

庫導入

這裡使用composer進行套件管理,以下是json檔案:


{
  "name": "",
  "description": "test the mail",
  "require": {
    "PHPMailer/PHPMailer":"*"  
  }
}

使用範例


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

測試結果

#使用163作為發送方,發送給QQ郵箱、163郵箱都經過測試。

以上是phpmailer實作發送郵件的功能的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn