可能重复:
Use Zend Framework components without the actual framework?
我只需要Zend Framework的Zend_Mail函数,但整个框架大小约为300MB。有没有办法将其简化为基础知识和Zend_Mail以节省一些磁盘空间?
答案 0 :(得分:15)
是的,我之前使用的是Zend_Mail和SMTP独立版,以下是我需要的文件。如果你只想使用sendmail,我也会把它减少到你所需要的。
如果您想使用Sendmail,那是最简单的。您的依赖项是:
使用这些文件,这是一个使用示例:
<?php
// optionally
// set_include_path(get_include_path() . PATH_SEPARATOR . '/path/to/Zend');
require_once 'Zend/Mail.php';
require_once 'Zend/Mail/Transport/Sendmail.php';
$transport = new Zend_Mail_Transport_Sendmail();
$mail = new Zend_Mail();
$mail->addTo('user@domain')
->setSubject('Mail Test')
->setBodyText("Hello,\nThis is a Zend Mail message...\n")
->setFrom('sender@domain');
try {
$mail->send($transport);
echo "Message sent!<br />\n";
} catch (Exception $ex) {
echo "Failed to send mail! " . $ex->getMessage() . "<br />\n";
}
如果您需要SMTP,那么您需要包含更多依赖项。除了上述内容,您至少需要:
然后你可以这样做:
<?php
require_once 'Zend/Mail.php';
require_once 'Zend/Mail/Transport/Smtp.php';
$config = array(//'ssl' => 'tls',
'port' => '25', //465',
'auth' => 'login',
'username' => 'user',
'password' => 'password');
$transport = new Zend_Mail_Transport_Smtp('smtp.example.com', $config);
$mail = new Zend_Mail();
$mail->addTo('user@domain')
->setSubject('Mail Test')
->setBodyText("Hello,\nThis is a Zend Mail message...\n")
->setFrom('sender@domain');
try {
$mail->send($transport);
echo "Message sent!<br />\n";
} catch (Exception $ex) {
echo "Failed to send mail! " . $ex->getMessage() . "<br />\n";
}
答案 1 :(得分:0)
从这里下载Zend最小包。
http://framework.zend.com/releases/ZendFramework-1.11.11/ZendFramework-1.11.11-minimal.zip
它不是那么大。未压缩的版本为23 MB。它有你需要的Zend_Mail类。