使用phpmailer发送邮件.

        说起来还真不好意思.弄个邮件左左右右差不多弄了2周, 当然了, 我请了一周的假期.我们公司的邮件发不出去了, 原来的邮件是用的php自带的mail()函数.可能是配置问题吧.这个不是我要处理的问题, 暂且不去找原因了, 解决办法,就是用一个smtp 发邮件的插件,来处理,要发送的内容,主题都不用改动!

首先去网上下载一个phpmailer的插件,下载地址:

https://github.com/PHPMailer/PHPMailer/archive/master.zip

        解压后的目录结构是这个样子的.这里面不是所有的都系有是游泳的, 我们只保留其中的几个文件class.phpmailer.php,class.smtp.php和phpMailerAutoload.php

如果只是用来测试的话, 我们就单独一个文件实例化这个phpmailer类,就可以发送邮件了, 下面是我做测试的时候的代码:

sendmail.php

<pre name="code" class="php"><?php
require_once('class.phpmailer.php');
require_once('class.smtp.php');
function SendMail($mailaddress,$headers){
    $mail = new PHPMailer();
 
    $mail->SMTPDebug  = 100;       // debug选项
    $mail->CharSet = "UTF-8";      // 设置编码
 
    $mail->IsSMTP();
    $mail->SMTPAuth = true;                // 设置为安全验证方式
    $mail->Host     = "smtp.qq.com";        // SMTP服务器地址
    $mail->Username = "76119622@qq.com";      // 登录用户名
    $mail->Password = "xubo";               // 登录密码
     
    $mail->From = "76119622@qq.com";        // 发件人地址(username@163.com)
    $mail->FromName = "测试名称";    
 
    $mail->WordWrap   = 50;
    $mail->IsHTML(true);            // 是否支持html邮件,true 或false
            
    $mail->AddAddress($mailaddress);        //客户邮箱地址
    $mail->Subject = '测试主题';
    $mail->Body    = '测试邮件内容使用phpmailer插件发送邮件.';
	$mail->AddCustomHeader($headers);
    if(!$mail->Send()){
       echo "Message could not be sent. <p>";
       echo "Mailer Error: " . $mail->ErrorInfo;
       return FALSE;
    }
    return TRUE;
}
//方法调用
	$mailaddress = "xubo_sh@sina.com" ;
	$headers='';
	SendMail($mailaddress,$headers);

?>


 
 

        这里我测试的只是一些发邮件的的常用功能,phpmailer本身也很强大有很多方法可以使用, phpmailer类的具体方法请参详:http://blog.csdn.net/teddrummer/article/details/4752134;

        这样只要运行这个sendmail.php 就会向你指定的邮箱送邮件了.下一步是要在框架里面使用这个插件,大家用的框架可能不同, 所用使用的方法也不同,我说以下,在cakephp卡un框架中使用这个插件, 在cakephp使用这个插件有很多中方法, 可以在Appcontroller里面来调用, 也可以直接在要使用的controller里面require来调用,还可以用框架本身的App::uses或者App::import来调用插件,我用的是第二种方法,因为对cakephp框架不熟悉中间除了很多错误;首先要把这个插件放到app/vendor下面, 这个文件夹是专门用来存放第三方插件的, 之后我们在用的方法里面写一个方法来实例化这个phpmailer类实例化方法SendMail()和测试时候写的差不多, 就不在写了, 但是require_once要写在方法里面.之后在想要发邮件的时候来调用这个方法就可以了$this->sendmail(参数1,参数2)具体的要设置几个参数要可实际情况来修改SendMail()方法.



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值