程序员人生 网站导航

Zend_Mail 邮件发送(SMTP方式)

栏目:htmlcss时间:2014-12-13 09:14:27

Zend_Mail邮件发送

转载请注明出处,尊重原创:http://blog.csdn.net/a437629292/article/details/41700009

1、 邮件发送方式:

1.直接邮件服务器发送:

         直接使用邮件服务器发送,也就是php程序所在服务器上本来就是邮件服务器(即配置成SMTP邮件服务器),并且发送到的对方也必须是邮件服务器,比如QQ邮箱,163邮箱等等,他们直接也是使用SMTP协议

2. 拜托其他邮件服务器发送:

         php程序拜托其他邮件服务器发送邮件(必须条件:该服务器可以上网),比如:使用zend提供的Zend_Mail插件发送邮件。

2、 SMTP情势邮件发送:

         首先,拜托其他邮件服务器发送邮件,得有1系列的参数设置:比如:你得先在该邮件服务器上注册有邮箱,所以配置邮箱登陆名和密码是必须的,还有发送的主题,内容,接收者等等。

         详细见代码:

<?php

require_once 'Zend/Mail.php';

require_once 'Zend/Mail/Transport/Smtp.php';

 

class sendMail

{

    private static $_config =array(

        'auth' => 'login',

        'username' => 'xxxxx@163.com',

        'password' => 'xxxxx'

    ); // 定义SMTP的验证参数,设置正确的邮箱和登录密码

 

    private static $_mail =null;

 

    private static $_transport =null;

 

    public static function send($title, $body, $address)

    {

        try {

            $transport = new Zend_Mail_Transport_Smtp('smtp.163.com',self::$_config);//实例化验证的对象

            $mail = new Zend_Mail('UTF⑻'); // 实例化发送邮件对象

            $mail->setBodyHtml($body); // 发送邮件的主体

            $mail->setFrom('xxxx@163.com','');// 定义邮件发送使用的邮箱

            $mail->addTo("$address",'');// 定义邮件的接收邮箱

            $mail->setSubject($title); // 定义邮件主题

            $mail->send($transport); // 履行发送操作

            return true;

        } catch (Exception $e) {

            $e->getTrace();

            return false;

        }

    }

}

         代码关键部份已加有注释,就罗嗦了,有问题直接问我。

3、 使用实例

         在需要邮件发送的时候,实例化sendMail类,然后调用该类的send方法传入相应参数便可。

   详细见代码:

       $title="测试";

               $body='<h1>这是1封来自MarkTao的测试PHP邮件发送邮件!</h1><a href="#">请确认</a>';

               $address = 'xxxx@qq.com';

               $sendMail = newsendMail();

               $sendMail->send($title, $body, $address);

title 为邮件的主题(标题)

body为邮件内容,支持html格式。

address 接收邮件的地址

4、 总结

   sendMail中的config,其实像这类配置参数之类的,最好还是可以配置到配置文件中去,然后读取,这样拓展性就更强1些了。

   还有1种方式是通过PHPMailer,这个就不是使用zend内部的mail类了,需要去下载1些类包,然后引入使用。

------分隔线----------------------------
------分隔线----------------------------

最新技术推荐