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('
[email protected]', 'st');
$mail->addTo('
[email protected]', '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' => '
[email protected]',
'password' => '******'));