PHP邮件发送类PHPMailer用法实例详解


Posted in PHP onSeptember 22, 2014

本文实例讲述了PHP邮件发送类PHPMailer用法,并详细讲述了其具体的操作步骤。分享给大家供大家参考。具体步骤如下:

1.在服务器安装 sendmail

sudo apt-get install sendmail

2.启动 sendmail

sudo /etc/init.d/sendmail start

3.修改 php.ini

[mail function] 
SMTP = localhost 
smtp_port = 25 
sendmail_from = me@example.com

4.Function sendMail函数如下

<?php 
/* 调用PHPMailer发送电邮 
* @param String $receiver   收件人 
* @param String $sender    发件人 
* @param String $sender_name 发件人名称如为空则用发件人地址代替 
* @param String $subject   邮件主题 
* @param String $content   邮件内容 
* @param boolean $ishtml    是否html电邮 
* @param Array  $attachements 附件 
* @return boolean 
*/ 
function sendMail($receiver, $sender, $sender_name, $subject, $content, $ishtml=true, $attachments=array()) { 
  include_once "class-phpmailer.php";  
 
  if(empty($receiver) || empty($sender) || empty($subject) || empty($content)){ 
    return false; 
  } 
   
  $mail = new PHPMailer();  
 
  //$mail->IsSMTP();        // 经smtp发送  
  //$mail->Host = "smtp.gmail.com"; // SMTP 服务器 
  //$mail->Port = 465;       // SMTP 端口 
  //$mail->SMTPSecure = 'ssl';   // 加密方式 
  //$mail->SMTPAuth = true;     // 打开SMTP认证 
  //$mail->Username = "username";  // 用户名 
  //$mail->Password = "password";  // 密码 
 
  $mail->IsMail();         // using PHP mail() function 有可能??霈F?封?件可能不是由以下使用者所?魉偷奶崾 
       
  $mail->From = $sender;      // 发信人  
  $mail->FromName = $sender_name;  // 发信人别名  
  $mail->AddReplyTo($sender);    // 回覆人 
  $mail->AddAddress($receiver);   // 收信人  
 
  // 以html方式发送 
  if($ishtml){ 
    $mail->IsHTML(true); 
  } 
 
  // 发送附件 
  if($attachments){ 
    if(is_array($attachments)){ 
      $send_attachments = array(); 
 
      $tmp_attachments = array_slice($attachments,0,1); 
      if(!is_array(array_pop($tmp_attachments))){ 
        if(isset($attachments['path'])){ 
          array_push($send_attachments, $attachments);           
        }else{ 
          foreach($attachments as $attachment){ 
            array_push($send_attachments, array('path'=>$attachment)); 
          } 
        } 
      }else{ 
        $send_attachments = $attachments; 
      } 
 
      foreach($send_attachments as $attachment){ 
        $attachment['name'] = isset($attachment['name'])? $attachment['name'] : null; 
        $attachment['encoding'] = isset($attachment['encoding'])? $attachment['encoding'] : 'base64'; 
        $attachment['type'] = isset($attachment['type'])? $attachment['type'] : 'application/octet-stream'; 
        if(isset($attachment['path']) && file_exists($attachment['path'])){ 
          $mail->AddAttachment($attachment['path'],$attachment['name'],$attachment['encoding'],$attachment['type']); 
        } 
      } 
    }elseif(is_string($attachments)){ 
      if(file_exists($attachments)){ 
        $mail->AddAttachment($attachments); 
      } 
    } 
  } 
 
  $mail->Subject = $subject; // 邮件标题 
  $mail->Body   = $content; // 邮件?热 
  return $mail->Send();  
} 
 
// DEMO示例如下: 
$receiver = 'receiver@test.com'; 
$sender = 'sender@test.com'; 
$sender_name = 'sender name'; 
$subject = 'subjecct'; 
$content = 'content'; 
 
// 四种格式都可以 
$attachments = 'attachment1.jpg'; 
$attachments = array('path'=>'attachment1.jpg', 'name'=>'附件1.jpg'); 
$attachments = array('attachment1.jpg','attachment2.jpg','attachment3.jpg'); 
$attachments = array( 
  array('path'=>'attachment1.jpg', 'name'=>'附件1.jpg'), 
  array('path'=>'attachment2.jpg', 'name'=>'附件2.jpg'), 
  array('path'=>'attachment3.jpg', 'name'=>'附件3.jpg'), 
); 
$flag = sendMail($receiver, $sender, $sender_name, $subject, $content, true, $attachments); 
echo $flag; 
?>

源码点击此处本站下载。

希望本文所述对大家PHP程序设计的学习有所帮助。

PHP 相关文章推荐
写出高质量的PHP程序
Feb 04 PHP
TMDPHP 模板引擎使用教程
Mar 13 PHP
php输出xml格式字符串(用的这个)
Jul 12 PHP
基于php常用正则表达式的整理汇总
Jun 08 PHP
php中用date函数获取当前时间有误的解决办法
Aug 02 PHP
微信营销平台系统?刮刮乐的开发
Jun 10 PHP
用PHP写的一个冒泡排序法的函数简单实例
May 26 PHP
php+jQuery递归调用POST循环请求示例
Oct 14 PHP
详解EventDispatcher事件分发组件
Dec 25 PHP
Thinkphp5 微信公众号token验证不成功的原因及解决方法
Nov 12 PHP
PDO::lastInsertId讲解
Jan 29 PHP
PHP 模拟登陆功能实例详解
Sep 10 PHP
php实现的CSS更新类实例
Sep 22 #PHP
php的XML文件解释类应用实例
Sep 22 #PHP
php实现的返回数据格式化类实例
Sep 22 #PHP
php实现的替换敏感字符串类实例
Sep 22 #PHP
php实现的发送带附件邮件类实例
Sep 22 #PHP
PHP实现AES256加密算法实例
Sep 22 #PHP
php生成QRcode实例
Sep 22 #PHP
You might like
索尼SONY ICF-SW7600GR电路分析与改良
2021/03/02 无线电
PHILIPS AE3805收音机的分析打磨
2021/03/02 无线电
php根据操作系统转换文件名大小写的方法
2014/02/24 PHP
PHP实现一维数组转二维数组的方法
2015/02/25 PHP
深入浅析Yii admin的权限控制
2016/08/31 PHP
JavaScript 代码压缩工具小结
2012/02/27 Javascript
Chrome扩展页面动态绑定JS事件提示错误
2014/02/11 Javascript
JS实现CheckBox复选框全选、不选或全不选功能
2020/07/28 Javascript
js自定义QQ菜单效果
2017/01/10 Javascript
jquery实现弹窗功能(窗口居中显示)
2017/02/27 Javascript
快速了解vue-cli 3.0 新特性
2018/02/28 Javascript
Express的HTTP重定向到HTTPS的方法
2018/06/06 Javascript
JavaScript求一个数组中重复出现次数最多的元素及其下标位置示例
2018/07/23 Javascript
Angular脚手架开发的实现步骤
2019/04/09 Javascript
如何在Vue中使localStorage具有响应式(思想实验)
2020/07/14 Javascript
vue 获取元素额外生成的data-v-xxx操作
2020/09/09 Javascript
python随机生成指定长度密码的方法
2015/04/04 Python
python基于pyDes库实现des加密的方法
2017/04/29 Python
python 实现视频流下载保存MP4的方法
2019/01/09 Python
pandas dataframe添加表格框线输出的方法
2019/02/08 Python
Python将视频或者动态图gif逐帧保存为图片的方法
2019/09/10 Python
python爬虫中多线程的使用详解
2019/09/23 Python
使用Python求解带约束的最优化问题详解
2020/02/11 Python
Python3标准库之functools管理函数的工具详解
2020/02/27 Python
Python通过socketserver处理多个链接
2020/03/18 Python
英国现代家具和照明购物网站:Heal’s
2019/10/30 全球购物
西班牙在线光学:Visual-Click
2020/06/22 全球购物
内容编辑个人求职信
2013/12/10 职场文书
应届优秀本科大学毕业生自我鉴定
2014/01/21 职场文书
信息管理应届生求职信
2014/03/07 职场文书
医院护士见习期自我鉴定
2014/09/15 职场文书
2014初中数学教研组工作总结
2014/12/19 职场文书
2016年会领导致辞稿
2015/07/29 职场文书
环保建议书作文500字
2015/09/14 职场文书
利用html+css实现菜单栏缓慢下拉效果的示例代码
2021/03/30 HTML / CSS
Win11 Build 25179预览版发布(附更新内容+ISO官方镜像下载)
2022/08/14 数码科技