PHPMailer是一个用于发送电子邮件的PHP函数包。

第一,需要下载PHPMailer文件包phpmailer. http://phpmailer.sourceforge.net/
    第二,确认你的服务器系统已经支持socket ,通过phpinfo();查看是否支持sockets(socket 是属于PHP扩展部分),如果显现为    “enabled”,那就是支持了。
     第三,把文件解压到你的web服务器目录下,调用类就可以了.
     首先包含class.phpmailer.php,然后创建对象,设置参数,调用成员函数。具体请见下面的示例代码:

require("phpmailer/class.phpmailer.php");   
    function smtp_mail ($send,$sendto,$sendto_email, $subject, $body) {
        $mail = new PHPMailer();
        $mail->IsSMTP();                                                         // send via SMTP
        $mail->Host = $send['Host'];                                        // SMTP servers
        $mail->SMTPAuth = true;                                             // turn on SMTP authentication
        $mail->Username = $send['Username'];                      // SMTP username  注意:普通邮件认证不需要加 @域名
        $mail->Password = $send['Password'];                        // SMTP password

$mail->From = $send['From'];                                      // 发件人邮箱
        $mail->FromName = $send['FromName'];                    // 发件人
 
        if(!empty($sendto['AddCC'][0])){                                  // 添加抄送
            for($i=0;$i<count($sendto['AddCC']);$i++)
            {
                $mail->AddCC($sendto['AddCC'][$i]);
            }
        }

if(!empty($sendto['AddBCC'][0])){                                // 添加密送
            for($i=0;$i<count($sendto['AddBCC']);$i++)
            {
            $mail->AddBCC($sendto['AddBCC'][$i]); 
           }
        }

$mail->CharSet = "UTF-8";                                            // 这里指定字符集
        $mail->Encoding = "base64";
        $mail->MessageID = time();
   
        for($i=0;$i<count($sendto['sendto_email']);$i++)
        {
             $mail->AddAddress($sendto['sendto_email'][$i]);                      // 收件人邮箱地址
        }
        $mail->IsHTML(true);                                                                       // send as HTML
        $mail->Subject = $subject;                                                               // 邮件主题
                                                                                                                // 邮件内容
        $mail->Body = '<html><head>
        <meta http-equiv="Content-Language" content="zh-cn">
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head>
        <body> '.
                $sendto['body']
        .'</body>
         </html> ';                                                                      
   
         if(!empty($sendto['AddAttachment'][0])){
             foreach($sendto['AddAttachment'] as $value){
                 $mail->AddAttachment('D:/wwwSer/www/nwebs/uploads/'.$value);             // 附件的路径和附件名称
             }
         }
   
         $mail->AltBody ="text/html";
   
         if(!$mail->Send())
         {
            echo "发送有误 <p>";
            echo "错误信息: " . $mail->ErrorInfo;
            exit;
        }
         else{
             echo "发送成功!<br/>";
         }
      }
   
    $send = array(                                                                                  // 接收所需要的数据
        'Host'     =>$Data2['info'][0]->SMTP,
        'Username' =>$Data2['info'][0]->username,
        'Password' =>$Auth->Auth_EmailPwDecrypt($Data2['info'][0]->password),
        'From'     =>$COMMON->Post("senduser"),
        'FromName' =>$userinfo->username
     );
   
    $sendto = array(
        'sendto_email' => $SendTo3,
        'AddCC'              => $AddCC3,
        'AddBCC'         => $AddBCC3,
        'subject'      => $COMMON->Post("subject"),
        'body'         => $COMMON->Post("content"),
        'AddAttachment'=> $FilesNames2
     );

//(发送到, 邮件主题, 邮件内容,用户名)
     smtp_mail($send, $sendto, $sendto['sendto_email'], $sendto['subject'], $sendto['body']);
 }

要注意的内容:
   
如果你想用它来群发邮件的话,记得修改包含文件函数,如: require("phpmailer/class.phpmailer.php");
改为 require_once("phpmailer/class.phpmailer.php"); 否则的话会产生类的重定义。

phpmailer{群发并且发送附件}的更多相关文章

  1. TP5使用phpmailer实现邮件发送

    1.从github下载PHPMailer,在vendor目录中新建文件夹phpmailer,将压缩包中的class.phpmailer.php和class.smtp.php复制到phpmailer中, ...

  2. 【Thinkphp 5】 整合邮箱类 phpmailer实现邮件发送

    第一步:下载phpmailer文件,主要用到的文件只有箭头指向的两个,thinkphp5中,把class.phpmailer.php改成了phpmailer.php 第二步: 将phpmailer文件 ...

  3. phpmailer实现邮件发送

    phpmailer实现邮件发送 1.代码 <?php require("class.phpmailer.php"); //这个是一个smtp的php文档,网上可以下载得到 $ ...

  4. python 发送附件至邮箱

    python 发送附件至邮箱 import smtplibfrom email.MIMEText import MIMETextfrom email.MIMEMultipart import MIME ...

  5. Flask-email 发送邮件的配置,发送附件的方法,以及os.environ.get('MAIL_USERNAME')为None的解决办法

    一.发送邮件的配置 在学习flask-mail来发送电子邮件的时候遇到了一些问题,其实都是些小问题,现在记录下来以便于以后查看. 1.首先flask-mail的安装 pip install flask ...

  6. python测试开发django-30.发送附件EmailMessage

    前言 Django的 send_mail() 和 send_mass_mail() 函式事实上是对 EmailMessage 类使用方式 的一个轻度封装.send_mail() 和相关的其他封装函式并 ...

  7. Mac怎么快速创建便签和发送附件的邮件

    1.如何快速创建便签        在Mac的任意界面选中文字:shift+command+y 就能创建便签2.如何快速发送附件的邮件(网页界面)        在Safari网页界面 command ...

  8. hMailServer之发送附件大小限制

    hMailServer发送附件大小限制有以下几个地方: 1.php配置 参考 .post_max_size = 10M 表单提交最大数据为10M.此项不是限制上传单个文件的大小,而是针对整个表单的提交 ...

  9. gomail发送附件

    采用github.com/go-gomail/gomail/ 的邮件功能,可以发送附件 以及html文档,下面是其给出的demo,测试通过. package main //cmd: go get go ...

随机推荐

  1. Xcode插件筛选

    Xcode高效插件推荐 好像很多iOS开发的同学都不知道Xcode有插件这么一说,所以整理了一下自己用的Xcode高效插件,分享给大家 下列插件在Xcode 7.0.1 版本做测试通过可以使用 在Xc ...

  2. EJB 总结学习(1)

    总结1: 以下面这行代码为例: PersonDaoBeanRemote pdb = (PersonDaoBeanRemote)ctx.lookup("PersonDaoBean/remote ...

  3. 《A First Course in Abstract Algebra with Applications》-chaper1-数论

    由于笔者在别的专栏多次介绍过数论,这里在<抽象代数基础教程>的专栏下,对于chaper1数论这一章节介绍的方式不那么“入门”. 首先来介绍一个代数中常用也是非常重要的证明方法:数学归纳法. ...

  4. 开发者MAC电脑里的十八般兵器

    古人常以刀.枪.剑.戟.斧.钺.铲.叉.鞭.锏.锤.戈.镋.棍.槊.棒.矛.钯十八种兵器,样样精通,来形容一个人的武学技能get状态.在开发者的世界里,熟练掌握各种辅助工具,可以达到事半功倍,快速提高 ...

  5. STM32 定时器用于外部脉冲计数

    STM32 定时器用于外部脉冲计数 第一步,设置GPIO GPIO_InitTypeDef GPIO_InitStructure; /* PA0,PA12-> 左右脉冲输入 */GPIO_Ini ...

  6. linux 入侵检查转载

    转载 本文给大家收集整理了一些审查Linux系统是否被入侵的方法,这些方法可以添加到你运维例行巡检中. 1. 检查帐户 代码如下: # less /etc/passwd # grep :0: /etc ...

  7. freemarke之TemplateDirectiveModel详解

    http://hougbin.iteye.com/blog/1457924 TemplateDirectiveModel接口是freemarker自定标签或者自定义指令的核心处理接口.通过实现该接口, ...

  8. [MySQL] MySQL的自己主动化安装部署

    有过MySQL运维的人应该都清楚,线上的MySQL一般都採用源代码编译,由于这样才干够依据企业的各自须要选择要编译的功能,尽管MySQL的源代码编译挺简单的,可是试想一下,假设你有几百台server同 ...

  9. Android M 新的运行时权限开发者需要知道的一切

    android M 的名字官方刚发布不久,最终正式版即将来临!android在不断发展,最近的更新 M 非常不同,一些主要的变化例如运行时权限将有颠覆性影响.惊讶的是android社区鲜有谈论这事儿, ...

  10. JDK7 HashMap源码分析

    本文基于JDK1.7.0_79的版本进行分析. 注释比较详细. 若有不明白的地方可以指出, 我再进行细化. public class HashMap<K,V> extends Abstra ...