简介:这是Zend_Mail收发smtp(gmail,163)邮件Zend Framework 的详细页面,介绍了和php,有关的知识、技巧、经验,和一些php源码等。
class='pingjiaF' frameborder='0' src='http://biancheng.dnbcw.info/pingjia.php?id=325741' scrolling='no'> Zend_Mail收发smtp(gmail,163)邮件Zend Framework利用Gmail发送 带附件的 HTML 邮件:
set_time_limit(0);//网速太慢,30秒内铁定发送不成功
$mailTransport = new Zend_Mail_Transport_Smtp( 'smtp.gmail.com', array('auth' => 'login','username' => 'test',
'password' => '*******',
'ssl' => 'ssl'));
$mail = new Zend_Mail('utf-8');
$mail->setBodyHtml('<b>你好中国</b>');
$mail->setSubject('中国你好');
$mail->createAttachment( file_get_contents('E:\\sina.png'), 'image/png', Zend_Mime::DISPOSITION_INLINE , Zend_Mime::ENCODING_BASE64 , 'sina.png');
$mail->setFrom('test@gmail.com', 'st');
$mail->addTo('test@163.com', 'test先生');
$mail->send($mailTransport);
注意:对于附件的编码 ,二进制内容必须是 Zend_Mime:ENCODING_BASE64, 另外的 7 bit、8 bit 编码不用试了,铁定发送不成功的(收到的附件无法打开),就当没看见吧
setFrom也必须提供自己的email地址,很明显,防止乱发邮件嘛
;extension=php_openssl 前面的 ; 也得去掉(没看到也没关系,PHP会提醒你的)
对于使用163的:
$mailTransport = new Zend_Mail_Transport_Smtp( 'smtp.163.com', array( 'auth' => 'login',
'username' => 'test@163.com',
'password' => '******'));