欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

PHP SMTP邮件发送(可加附件)

程序员文章站 2022-04-14 22:33:01
下载:https://pan.baidu.com/s/1IakOOvmfltodm6w_taDcQg ......
<?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"

  // 设置发件人信息,显示为  你看我那里像好人(xxxx@126.com)
  $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