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编程语言开发动态WAP页面
Oct 09 PHP
PHP执行速率优化技巧小结
Mar 15 PHP
PHP session有效期问题
Apr 26 PHP
简单PHP上传图片、删除图片实现代码
May 12 PHP
解析PayPal支付接口的PHP开发方式
Nov 28 PHP
PHP常用技术文之文件操作和目录操作总结
Sep 27 PHP
PHP清除数组中所有字符串两端空格的方法
Oct 20 PHP
PHP的Yii框架入门使用教程
Feb 15 PHP
总结PHP中DateTime的常用方法
Aug 11 PHP
PHP+redis实现的悲观锁机制示例
Jun 12 PHP
php提取微信账单的有效信息
Oct 01 PHP
PHP 图片处理
Sep 16 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字符串替换函数substr_replace()用法实例
2015/03/17 PHP
ThinkPHP中session函数详解
2016/09/14 PHP
JQuery 学习笔记 选择器之一
2009/07/23 Javascript
基于jquery的仿百度的鼠标移入图片抖动效果
2010/09/17 Javascript
js 数据类型转换总结笔记
2011/01/17 Javascript
js+html+css实现鼠标移动div实例
2013/01/30 Javascript
jQuery对象和Javascript对象之间转换的实例代码
2013/03/20 Javascript
JS文本框追加多个下拉框的值的简单实例
2013/07/12 Javascript
Node.js中使用Log.io在浏览器中实时监控日志(等同tail -f命令)
2014/09/17 Javascript
jQuery中Form相关知识汇总
2015/01/06 Javascript
html的DOM中document对象images集合用法实例
2015/01/21 Javascript
基于javascript实现单选及多选的向右和向左移动实例
2015/07/25 Javascript
js实现改进的仿蓝色论坛导航菜单效果代码
2015/09/06 Javascript
js实现图片轮播效果
2015/12/19 Javascript
详解JavaScript中this关键字的用法
2016/05/26 Javascript
JS点击某个图标或按钮弹出文件选择框的实现代码
2016/09/27 Javascript
Vue-resource实现ajax请求和跨域请求示例
2017/02/23 Javascript
Nodejs中使用captchapng模块生成图片验证码
2017/05/18 NodeJs
Vue.js下拉菜单组件使用方法详解
2019/10/19 Javascript
Vue axios 将传递的json数据转为form data的例子
2019/10/29 Javascript
Python深入学习之上下文管理器
2014/08/31 Python
python删除服务器文件代码示例
2018/02/09 Python
Windows下的Jupyter Notebook 安装与自定义启动(图文详解)
2018/02/21 Python
python实现QQ批量登录功能
2019/06/19 Python
Django框架 查询Extra功能实现解析
2019/09/04 Python
解决python replace函数替换无效问题
2020/01/18 Python
基于Python和C++实现删除链表的节点
2020/07/06 Python
解析HTML5中的新功能本地存储localStorage
2016/03/01 HTML / CSS
英国专业美容产品在线:Mylee(从指甲到脱毛)
2020/07/06 全球购物
国际商务系学生个人的自我评价
2013/11/26 职场文书
技术人员面试提纲
2013/11/28 职场文书
护士毕业生自我鉴定
2014/02/08 职场文书
党的群众路线教育实践活动总结报告
2014/07/03 职场文书
2015年小学语文工作总结
2015/05/25 职场文书
学生会任命书范本
2015/09/21 职场文书
一篇文章搞懂python混乱的切换操作与优雅的推导式
2021/08/23 Python