1. 程式人生 > >PHP SMTP郵件發送(可加附件)

PHP SMTP郵件發送(可加附件)

dad timezone mat subject tar row 發送 exception shanghai

<?php

/**
 * @param $address mixed 收件人  多個收件人/或需要設置收件人昵稱時為數組 array($address1,$address1)/array(array(‘address‘=>$address1,‘nickname‘=>$nickname1),array(‘address‘=>$address2,‘nickname‘=>$nickname2))
 * @param $subject string 郵件主題
 * @param $body    string 郵件內容
 * @param  $file   string 附件
 * @return bool|string   發送成功返回true 反之返回報錯信息
 * @throws Exception
 */
function send_mail_by_smtp($address, $subject, $body, $file = ‘‘)
{
  require(‘./PHPMailer-master/Exception.php‘);
  require(‘./PHPMailer-master/PHPMailer.php‘);
  require(‘./PHPMailer-master/SMTP.php‘);

  //date_default_timezone_set("Asia/Shanghai");//設定時區東八區

  $mail = new PHPMailer();

  //Server settings
  $mail->SMTPDebug = 2;
  $mail->isSMTP();                                      // 使用SMTP方式發送
  $mail->Host = ‘smtp.126.com‘;                         // SMTP郵箱域名
  $mail->SMTPAuth = true;                               // 啟用SMTP驗證功能
  $mail->Username = "*****@126.com";                    // 郵箱用戶名(完整email地址)
  $mail->Password = "*****";                            // smtp授權碼,非郵箱登錄密碼
  $mail->Port = 25;
  $mail->CharSet = "utf-8";                             //設置字符集編碼 "GB2312"

  // 設置發件人信息,顯示為  你看我那裏像好人([email protected])
  $mail->setFrom($mail->Username, ‘你看我那裏像好人‘);

  //設置收件人 參數1為收件人郵箱 參數2為該收件人設置的昵稱  添加多個收件人 多次調用即可
  //$mail->addAddress(‘********@163.com‘, ‘你看我那裏像好人‘);

  if (is_array($address)) {
    foreach ($address as $item) {
      if (is_array($item)) {
        $mail->addAddress($item[‘address‘], $item[‘nickname‘]);
      } else {
        $mail->addAddress($item);
      }
    }
  } else {
    $mail->addAddress($address, ‘adsf‘);
  }


  //設置回復人 參數1為回復人郵箱 參數2為該回復人設置的昵稱
  //$mail->addReplyTo(‘*****@126.com‘, ‘Information‘);

  if ($file !== ‘‘) $mail->AddAttachment($file); // 添加附件

  $mail->isHTML(true);    //郵件正文是否為html編碼 true或false
  $mail->Subject = $subject;     //郵件主題
  $mail->Body = $body;           //郵件正文 若isHTML設置成了true,則可以是完整的html字符串 如:使用file_get_contents函數讀取的html文件
  //$mail->AltBody = ‘This is the body in plain text for non-HTML mail clients‘;  //附加信息,可以省略

  return $mail->Send() ? true : ‘ErrorInfo:‘ . $mail->ErrorInfo;
}

$path = ‘.\wpic907.jpg‘;
$ret = send_mail_by_smtp(‘*******@163.com‘, ‘PHPMailer郵件標題‘, ‘PHPMailer郵件內容‘, $path);

  

下載:https://pan.baidu.com/s/1IakOOvmfltodm6w_taDcQg

PHP SMTP郵件發送(可加附件)