Zend Framework の Zend_Mail 関数だけが必要ですが、フレームワーク全体のサイズは約 300MB です。ディスクスペースを節約するために、基本と Zend_Mail だけに削減する方法はありますか?
4041 次
2 に答える
15
はい、以前に SMTP スタンドアロンで Zend_Mail を使用したことがあります。必要なファイルは次のとおりです。また、sendmail のみを使用したい場合に必要なものまで減らしました。
Sendmail を使用する場合は、それが最も簡単です。依存関係は次のとおりです。
- Zend/Exception.php
- Zend/Mail.php
- Zend/Mime.php
- Zend/メール/Exception.php
- Zend/メール/トランスポート/Abstract.php
- Zend/メール/トランスポート/Exception.php
- Zend/メール/トランスポート/Sendmail.php
- Zend/Mime/Exception.php
- Zend/Mime/Message.php
- Zend/Mime/Part.php
これらのファイルの使用例を次に示します。
<?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 が必要な場合は、さらにいくつかの依存関係を含める必要があります。上記に加えて、少なくとも次のものが必要です。
- Zend/Loader.php
- Zend/Registry.php
- Zend/Validate.php
- Zend/メール/プロトコル/Abstract.php
- Zend/メール/プロトコル/Smtp.php
- Zend/メール/トランスポート/Smtp.php
- Zend/検証/Abstract.php
- Zend/Validate/Hostname.php
- Zend/検証/Interface.php
- Zend/検証/Ip.php
- Zend/検証/ホスト名/*
- Zend/メール/プロトコル/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";
}
于 2012-02-14T19:24:54.557 に答える