php - 将 Zend Framework 最小化为 Zend_Mail?

标签 php zend-framework frameworks zend-mail

<分区>

Possible Duplicate:
Use Zend Framework components without the actual framework?

我只需要Zend Framework 的Zend_Mail 功能,但整个框架大约有300MB 大小。有没有办法将其缩减为仅包含基础知识和 Zend_Mail 以节省一些磁盘空间?

最佳答案

是的,我以前使用过 Zend_Mail 和 SMTP standalone,这里是我需要的文件。如果您也只想使用 sendmail,我还将它减少到您需要的。

如果你想使用Sendmail,那是最简单的。您的依赖项是:

  • Zend/Exception.php
  • Zend/Mail.php
  • Zend/Mime.php
  • Zend/Mail/Exception.php
  • Zend/Mail/Transport/Abstract.php
  • Zend/Mail/Transport/Exception.php
  • Zend/Mail/Transport/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/Mail/Protocol/Abstract.php
  • Zend/Mail/Protocol/Smtp.php
  • Zend/Mail/Transport/Smtp.php
  • Zend/Validate/Abstract.php
  • Zend/Validate/Hostname.php
  • Zend/Validate/Interface.php
  • Zend/Validate/Ip.php
  • Zend/验证/主机名/*
  • Zend/Mail/Protocol/Smtp/Auth/*

然后你可以这样做:

<?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";
}

关于php - 将 Zend Framework 最小化为 Zend_Mail?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9280769/

相关文章:

zend-framework - Zend 服务器部署

objective-c - Xcode6 创建胖静态库 iOS 通用框架

javascript - Phaser - 我无法启动任何示例

javascript - 使用 JavaScript 过滤回显表

php打印curl的版本号

php - Zend Framework 与 Behat BDD 集成

scala - 有哪些 Scala Web 框架可用?

php - 创建与另一个数据库关联的数据库

php - 来自 MySQL DB 的 AngularJS 值

php - Zend Framework 的模型和后端接口(interface)生成器