phpmailer 发送邮件笔记整理

本文详细介绍了如何使用PHPMailer发送邮件,包括下载PHPMailer、检查服务器支持、添加类文件,以及使用PHPMailer的各种方法如AddAddress、AddAttachment、AddCC等。还涉及到SMTP认证和设置邮件内容的相关属性。
摘要由CSDN通过智能技术生成

要想使用phpmailer发送邮件,首先我们要去网上现在phpmailer文件包,网上资源很多,个人推荐下载地址:http://phpmailer.sourceforge.net。

然后你需要确认你的服务器系统是否支持socket,可以通过phpinfo();查看是否支持socket(socket 是属于PHP拓展部分),如果显示为"enabled",那就代表支持。

准备工作做好后,把下载的phpmailer文件包里面的class.phpmailer.php放到你的项目里,接下来我们写一个类

<?php
/**
 * @author cdd
 * @time 2014年8月27日
 * 邮件发送类
*/
header("content-type:text/html;charset=utf-8");
ini_set("magic_quotes_runtime",0);
require_once 'class.phpmailer.php';
class Email{
    /**
     * @smtp             --SMTP服务器(暂时写死)
     * @senderEml       -- 发件人邮箱 (暂时写死)
     * @senderPwd       -- 发件人邮箱密码 (暂时写死)
     * @senderAddress   --发件人
     * @senderName      -- 发件人名
     * @tite            -- 邮件标题
     * @content          -- 邮件内容
     * @addressee       -- 收件人
     * @annex            -- 附件
     * @returnAddress   -- 回复地址
     * @returnName       -- 回复邮箱名称
     * @cc                -- 抄送邮箱
     * @ccName             -- 抄送名称
     */
    function toMail($senderAddress,$senderName,$content,$tite,$addressee,$annex,$returnAddress,$returnName,$cc,$ccName){
        try {
            $mail = new PHPMailer(true);
            $mail->IsSMTP();
            $mail->CharSet='UTF-8'; //设置邮件的字符编码,这很重要,不然中文乱码
            $mail->SMTPAuth = true; //开启认证
            $mail->Port = 25;
            $mail->Host = "smtpcom.263xmail.com";//我们用的是263的邮箱
            $mail->Username = "diandong.cao@mcake.com";//发件人邮箱
            $mail->Password = "******";//发件人邮箱的密码
            //$mail->IsSendmail(); //如果没有sendmail组件就注释掉,否则出现“Could not execute: /var/qmail/bin/sendmail ”的错误提示
            $mail->AddReplyTo($returnAddress,$returnName);//回复地址
            $mail->From = $senderAddress;
            $mail->FromName = $senderName;
            $to = $addressee;
            $mail->AddAddress($to);
            $mail->AddBCC($cc,$ccName);
            $mail->Subject = $tite;
            $mail->Body = $content;
            $mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; //当邮件不支持html时备用显示,可以省略
            $mail->WordWrap = 80; // 设置每行字符串的长度
            $mail->AddAttachment($annex); //添加附件
            $mail->IsHTML(true);
            @$mail->Send();
            echo '邮件已发送';
        } catch (phpmailerException $e) {
            echo "邮件发送失败:".$e->errorMessage();
        }
    }
}
调用:

$zt=new Email();
    $senderAddress='diandong.cao@mcake.com';
    $senderName='CDD测试';
    $content="测试发送内容<B>加粗</B>";
    $tite='CDD测试标题';
    $addressee='15563397771@163.com';
    $annex="./cs.jpg";
    $returnAddress='1986728083@qq.com';
    $returnName='CDD回复';
    $cc='1101943137@qq.com';
    $ccName='CDD抄送';
    $zt->toMail($senderAddress,$senderName,$content,$tite,$addressee,$annex,$returnAddress,$returnName,$cc,$ccName);


PHP 自带的发送邮件的函数  mail("收件人地址","主题","正文","From:发件人\r\nReply-to:发件人的地址"); 不过mail()需要服务器的支持,在WINDOWS下还需要配置SMTP服务器,一般来说外面的LINUX空间都行。


另外附上phpmailer属性列表及用法,可以根据不同的需求来添加不同的属性:

A开头: 

$AltBody--属性 
出自:PHPMailer::$AltBody 
文件:class.phpmailer.php 
说明:该属性的设置是在邮件正文不支持HTML的备用显示 

AddAddress--方法 
出自:PHPMailer::AddAddress(),文件:class.phpmailer.php 
说明:增加收件人。参数1为收件人邮箱,参数2为收件人称呼。例 AddAddress("xiaoxiaoxiaoyu@xiaoxiaoyu.cn","xiaoxiaoyu"),但参数2可选,AddAddress(xiaoxiaoxiaoyu@xiaoxiaoyu.cn)也是可以的。 
函数原型:public function AddAddress($address, $name = '') {} 

AddAttachment--方法 
出自:PHPMailer::AddAttachment() 
文件:class.phpmailer.php。 
说明:增加附件。 
参数:路径,名称,编码,类型。其中,路径为必选,其他为可选 
函数原型: 
AddAttachment($path, $name = '', $encoding = 'base64', $type = 'application/octet-stream'){} 

AddBCC--方法 
出自:PHPMailer::AddBCC() 
文件:class.phpmailer.php 
说明:增加一个密送。抄送和密送的区别请看[SMTP发件中的密送和抄送的区别] 。 
参数1为地址,参数2为名称。注意此方法只支持在win32下使用SMTP,不支持mail函数 
函数原型:public function AddBCC($address, $name = ''){} 

AddCC --方法 
出自:PHPMailer::AddCC() 
文件:class.phpmailer.php 
说明:增加一个抄送。抄送和密送的区别请看[SMTP发件中的密送和抄送的区别] 。 
参数1为地址,参数2为名称注意此方法只支持在win32下使用SMTP,不支持mail函数 
函数原型:public function AddCC($address, $name = '') {} 

AddCustomHeader--方法 
出自:PHPMailer::AddCustomHeader() 
文件:class.phpmailer.php 
说明:增加一个自定义的E-mail头部。 
参数为头部信息 
函数原型:public function AddCustomHeader($custom_header){} 

AddEmbeddedImage --方法 
出自:PHPMailer::AddEmbeddedImage() 
文件:class.phpmailer.php 
说明:增加一个嵌入式图片 
参数:路径,返回句柄[,名称,编码,类型] 
函数原型:public function AddEmbeddedImage($path, $cid, $name = '', $encoding = 'base64', $type = 'application/octet-stream') {} 
提示:AddEmbeddedImage(PICTURE_PATH. "index_01.jpg ", "img_01 ", "index_01.jpg "); 
在html中引用 

AddReplyTo--方法 
出自:PHPMailer:: AddReplyTo() 
文件:class.phpmailer.php 
说明:增加回复标签,如"Reply-to" 
参数1地址,参数2名称 
函数原型:public function AddReplyTo($address, $name = '') {} 

AddStringAttachment-方法 
出自:PHPMailer:: AddStringAttachment() 
文件:class.phpmailer.php 
说明:增加一个字符串或二进制附件(Adds a string

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值