zoukankan      html  css  js  c++  java
  • php中PHPMailer发送带附件的电子邮件方法

    php中PHPMailer发送带附件的电子邮件方法 - 摘要: 本文讲的是php中PHPMailer发送带附件的电子邮件方法, .首先到http://phpmailer.worxware.com/ 下载最新版本的程序包 2.下载完成后,找到class.phpmailer.php 、class.smtp.php两个类放到自己的目录下! 3.然后新建一个php

    .首先到http://phpmailer.worxware.com/ 下载最新版本的程序包
    2.下载完成后,找到class.phpmailer.php 、class.smtp.php两个类放到自己的目录下!
    3.然后新建一个php文件这里命名为:phpmail_jiucool.php
    4.phpmail_jiucool.php内容如下:


    实例

     代码如下 复制代码

    function postmail_jiucool_com($to,$subject = "",$body = ""){
        //Author:Jiucool WebSite: http://www.jiucool.com
        //$to 表示收件人地址 $subject 表示邮件标题 $body表示邮件正文
        //error_reporting(E_ALL);
        error_reporting(E_STRICT);
        date_default_timezone_set("Asia/Shanghai");//设定时区东八区
        require_once('class.phpmailer.php');
        include("class.smtp.php");
        $mail             = new PHPMailer(); //new一个PHPMailer对象出来
        $body             = eregi_replace("[]",'',$body); //对邮件内容进行必要的过滤
        $mail->CharSet ="UTF-8";//设定邮件编码,默认ISO-8859-1,如果发中文此项必须设置,否则乱码
        $mail->IsSMTP(); // 设定使用SMTP服务
        $mail->SMTPDebug  = 1;                     // 启用SMTP调试功能
                                               // 1 = errors and messages
                                               // 2 = messages only
        $mail->SMTPAuth   = true;                  // 启用 SMTP 验证功能
        $mail->SMTPSecure = "ssl";                 // 安全协议
        $mail->Host       = "smtp.googlemail.com";      // SMTP 服务器
        $mail->Port       = 465;                   // SMTP服务器的端口号
        $mail->Username   = "SMTP服务器用户名";  // SMTP服务器用户名
        $mail->Password   = "SMTP服务器密码";            // SMTP服务器密码
        $mail->SetFrom('发件人地址,如admin#jiucool.com #换成@', '发件人名称');
        $mail->AddReplyTo("邮件回复地址,如admin#jiucool.com #换成@","邮件回复人的名称");
        $mail->Subject    = $subject;
        $mail->AltBody    = "To view the message, please use an HTML compatible email viewer! - From www.jiucool.com"; // optional, comment out and test
        $mail->MsgHTML($body);
        $address = $to;
        $mail->AddAddress($address, "收件人名称");
        //$mail->AddAttachment("images/phpmailer.gif");      // attachment
        //$mail->AddAttachment("images/phpmailer_mini.gif"); // attachment
        if(!$mail->Send()) {
            echo "Mailer Error: " . $mail->ErrorInfo;
        } else {
            echo "Message sent!恭喜,邮件发送成功!";
            }
        }

    注意:

    phpmailer如果添加附件的时候,在附件名称里一定要写明附件的后缀,如果不写明附件后缀,默认的附件后缀会是.txt。
    比如

     代码如下 复制代码
    $mail -> AddAttachment('include/id.csv','att');//

    附件的路径和附件名称
    如果向上面一样添加附件发送,则最终接到的附件可能是att.txt。
    AddAttachment可以设置附件编码方式和附件类型,比如上面的附件添加也可以设置为

     代码如下 复制代码
    $mail -> AddAttachment('include/id.csv','att.csv',"binary","text/comma-separated-values");//

    附件的路径和附件名称、
    附件的编码方式大概有这么几种:支持8bit, base64, binary, and quoted-printable 编码
     
    而CSV可接受的MIME Type
    · application/octet-stream
    · text/comma-separated-values(推荐)
    · text/csv
    所以,csv格式文件的附件类型可以是上面三种中的任意一种

    实例

     代码如下 复制代码

    require_once('include/PHPMailer/class.phpmailer.php'); //导入PHPMAILER类
    $mail = new PHPMailer(); //创建实例
    $mail -> CharSet='utf-8'; //设置字符集
    $mail -> SetLanguage('ch','include/PHPMailer/language/');  //设置语言类型和语言文件所在目录         
    $mail -> IsSMTP(); //使用SMTP方式发送
    $mail -> SMTPAuth = true; //设置服务器是否需要SMTP身份验证 
    $mail -> Host = SMTP_SERVER; //SMTP 主机地址 
    $mail -> Port = SMTP_SERVER_PORT; //SMTP 主机端口
    $mail -> From = SMTP_USER_MAIL; //发件人EMAIL地址
    $mail -> FromName = 'jasonxu'; //发件人在SMTP主机中的用户名 
    $mail -> Username = SMTP_USER_NAME; //发件人的姓名 
    $mail -> Password = SMTP_USER_PASS; //发件人在SMTP主机中的密码 
    $mail -> Subject = '测试邮件的标题'; //邮件主题 
    $mail -> AltBody = 'text/html'; //设置在邮件正文不支持HTML时的备用显示
    $mail -> Body = '测试邮件的内容';//邮件内容做成
    $mail -> IsHTML(true);  //是否是HTML邮件
    $mail -> AddAddress('chinajason2008#gmail.com','jasonxu'); //收件人的地址和姓名 
    $mail -> AddReplyTo('chinajason2008#gmail.com','jasonxu'); //收件人回复时回复给的地址和姓名
    $mail -> AddAttachment('include/id.csv','att.csv');//附件的路径和附件名称
    if(!$mail -> Send()) //发送邮件 
    var_dump($mail -> ErrorInfo);  //查看发送的错误信息


    只要加上这希就可以实例邮箱发送带附件了

    $mail -> AddAttachment('include/id.csv','att.csv');//附件的路径和附件名称

    以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索服务器 , 邮件 , class , 实例 , 编码 代码 phpmailer发送附件、phpmailer发送邮件、phpmailer 发送邮件慢、java发送邮件带附件、邮件作为附件发送,以便于您获取更多的相关知识。

  • 相关阅读:
    拓扑排序模板
    杭电 2066 一个人的旅行
    杭电 1596 find the safest road (最小路径变形求最大安全度)
    【状态压缩DP】【BZOJ1087】【SCOI2005】互不侵犯king
    【bzoj1001】【最短路】【对偶图】【最大流转最小割】狼抓兔子题解
    [BZOJ1179][APIO2009][强连通分量Tarjan+spfa]ATM
    [BZOJ1194][HNOI2006][强连通分量Tarjan+dfs]潘多拉的盒子
    说一说ST表 讲一讲水题
    【强连通分量】tarjan算法及kosaraju算法+例题
    对拍程序讲解及源码举例
  • 原文地址:https://www.cnblogs.com/lxwphp/p/7731212.html
Copyright © 2011-2022 走看看