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作的文本留言本的例子(三)
Oct 09 PHP
PHP字符串处理的10个简单方法
Jun 30 PHP
PHP生成等比缩略图类和自定义函数分享
Jun 25 PHP
浅谈php的优缺点
Jul 14 PHP
PHP之浮点数计算比较以及取整数不准确的解决办法
Jul 29 PHP
php微信开发之上传临时素材
Jun 24 PHP
PHP面向对象程序设计之类与反射API详解
Dec 02 PHP
关于PHP定时发送服务的解决办法
Apr 23 PHP
PHP xpath()函数讲解
Feb 11 PHP
PHP创建XML接口示例
Jul 04 PHP
关于laravel 日志写入失败问题汇总
Oct 17 PHP
php远程请求CURL案例(爬虫、保存登录状态)
Apr 01 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
php 远程图片保存到本地的函数类
2008/12/08 PHP
浅谈php中urlencode与rawurlencode的区别
2016/09/05 PHP
TP5框架页面跳转样式操作示例
2020/04/05 PHP
浅谈php常用的7大框架的优缺点
2020/07/20 PHP
js宝典学习笔记(上)
2007/01/10 Javascript
Save a File Using a File Save Dialog Box
2007/06/18 Javascript
javascript高级程序设计第二版第十二章事件要点总结(常用的跨浏览器检测方法)
2012/08/22 Javascript
JS实现CheckBox复选框全选全不选功能
2015/05/06 Javascript
基于JavaScript实现仿京东图片轮播效果
2015/11/06 Javascript
在页面中输出当前客户端时间javascript实例代码
2016/03/02 Javascript
浅谈html转义及防止javascript注入攻击的方法
2016/12/04 Javascript
jQuery控制元素隐藏和显示
2017/03/03 Javascript
Vue使用枚举类型实现HTML下拉框步骤详解
2018/02/05 Javascript
微信小程序新手教程之页面打开数量限制
2019/03/03 Javascript
node.js使用express框架进行文件上传详解
2019/03/03 Javascript
vue之debounce属性被移除及处理详解
2019/11/13 Javascript
微信小程序保存图片到相册权限设置
2020/04/09 Javascript
[01:28:24]NAVI vs VG Supermajor 败者组 BO3 第三场 6.5
2018/06/06 DOTA
浅析Python中else语句块的使用技巧
2016/06/16 Python
python 中split 和 strip的实例详解
2017/07/12 Python
解决Django后台ManyToManyField显示成Object的问题
2019/08/09 Python
Python 字符串类型列表转换成真正列表类型过程解析
2019/08/26 Python
python字符串替换re.sub()方法解析
2019/09/18 Python
Python reduce函数作用及实例解析
2020/05/08 Python
Django Session和Cookie分别实现记住用户登录状态操作
2020/07/02 Python
python 两种方法修改文件的创建时间、修改时间、访问时间
2020/09/26 Python
Python图像读写方法对比
2020/11/16 Python
全球异乡人的跨境社交电商平台:Kouhigh口嗨网
2020/07/24 全球购物
毕业生找工作的自我评价
2013/10/18 职场文书
临床医师专业个人自我评价范文
2013/11/07 职场文书
七年级历史教学反思
2014/02/05 职场文书
高中教师评语大全
2014/04/25 职场文书
秋收起义观后感
2015/06/11 职场文书
大学新生入学感想
2015/08/07 职场文书
煤矿安全学习心得体会
2016/01/18 职场文书
python中取整数的几种方法
2021/11/07 Python