Zend_Mail邮件发送
转载请注明出处,尊重原创:http://blog.csdn.net/a437629292/article/details/41700009
一、 邮件发送方式:
1.直接邮件服务器发送:
直接使用邮件服务器发送,也就是php程序所在服务器上本来就是邮件服务器(即配置成SMTP邮件服务器),并且发送到的对方也必须是邮件服务器,比如QQ邮箱,163邮箱等等,他们直接也是使用SMTP协议
2. 委托其他邮件服务器发送:
php程序委托其他邮件服务器发送邮件(必须条件:该服务器可以上网),比如:使用zend提供的Zend_Mail插件发送邮件。
二、 SMTP形式邮件发送:
首先,委托其他邮件服务器发送邮件,得有一系列的参数设置:比如:你得先在该邮件服务器上注册有邮箱,所以配置邮箱登陆名和密码是必须的,还有发送的主题,内容,接收者等等。
详细见代码:
<?php require_once ‘Zend/Mail.php‘; require_once ‘Zend/Mail/Transport/Smtp.php‘; class sendMail { private static $_config =array( ‘auth‘ => ‘username‘ => ‘password‘ => ); private static $_mail =null; private static $_transport =null; public static function { try { $transport = new $mail = new $mail->setBodyHtml($body); $mail->setFrom(‘[email protected]‘,‘‘);// $mail->addTo("$address",‘‘);// $mail->setSubject($title); $mail->send($transport); return true; } catch (Exception $e) { $e->getTrace(); return false; } } } |
代码关键部分已经加有注释,就罗嗦了,有问题直接问我。
三、 使用实例
在需要邮件发送的时候,实例化sendMail类,然后调用该类的send方法传入相应参数即可。
详细见代码:
$title="测试"; $body=‘<h1>这是一封来自MarkTao的测试PHP邮件发送邮件!</h1><a $address = ‘[email protected]‘; $sendMail = newsendMail(); $sendMail->send($title, $body, $address); |
title 为邮件的主题(标题)
body为邮件内容,支持html格式。
address 接收邮件的地址
四、 总结
sendMail中的config,其实像这种配置参数之类的,最好还是可以配置到配置文件中去,然后读取,这样拓展性就更强一些了。
还有一种方式是通过PHPMailer,这个就不是使用zend内部的mail类了,需要去下载一些类包,然后引入使用。