⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sendmail.php

📁 Bug tracker, and reporter.
💻 PHP
字号:
<?php/** * Zend Framework * * LICENSE * * This source file is subject to the new BSD license that is bundled * with this package in the file LICENSE.txt. * It is also available through the world-wide-web at this URL: * http://framework.zend.com/license/new-bsd * If you did not receive a copy of the license and are unable to * obtain it through the world-wide-web, please send an email * to license@zend.com so we can send you a copy immediately. *  * @category   Zend * @package    Zend_Mail * @subpackage Transport * @copyright  Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com) * @license    http://framework.zend.com/license/new-bsd     New BSD License * @version    $Id: Sendmail.php 8064 2008-02-16 10:58:39Z thomas $ *//** * @see Zend_Mail_Transport_Abstract */require_once 'Zend/Mail/Transport/Abstract.php';/** * Class for sending eMails via the PHP internal mail() function * * @category   Zend * @package    Zend_Mail * @subpackage Transport * @copyright  Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com) * @license    http://framework.zend.com/license/new-bsd     New BSD License */class Zend_Mail_Transport_Sendmail extends Zend_Mail_Transport_Abstract{    /**     * Subject     * @var string     * @access public     */    public $subject = null;    /**     * Config options for sendmail parameters     *     * @var string     */    public $parameters;    /**     * EOL character string     * @var string     * @access public     */    public $EOL = PHP_EOL;    /**     * Constructor.     *     * @param  string $parameters OPTIONAL (Default: null)     * @return void     */    public function __construct($parameters = null)    {        $this->parameters = $parameters;    }    /**     * Send mail using PHP native mail()     *     * @access public     * @return void     * @throws Zend_Mail_Transport_Exception on mail() failure     */    public function _sendMail()    {        if ($this->parameters === null) {            $result = mail(                $this->recipients,                $this->_mail->getSubject(),                $this->body,                $this->header);        } else {            $result = mail(                $this->recipients,                $this->_mail->getSubject(),                $this->body,                $this->header,                $this->parameters);        }        if (!$result) {            /**             * @see Zend_Mail_Transport_Exception             */            require_once 'Zend/Mail/Transport/Exception.php';            throw new Zend_Mail_Transport_Exception('Unable to send mail');        }    }    /**     * Format and fix headers     *     * mail() uses its $to and $subject arguments to set the To: and Subject:     * headers, respectively. This method strips those out as a sanity check to     * prevent duplicate header entries.     *     * @access  protected     * @param   array $headers     * @return  void     * @throws  Zend_Mail_Transport_Exception     */    protected function _prepareHeaders($headers)    {        if (!$this->_mail) {            /**             * @see Zend_Mail_Transport_Exception             */            require_once 'Zend/Mail/Transport/Exception.php';            throw new Zend_Mail_Transport_Exception('_prepareHeaders requires a registered Zend_Mail object');        }        // mail() uses its $to parameter to set the To: header, and the $subject        // parameter to set the Subject: header. We need to strip them out.        if (0 === strpos(PHP_OS, 'WIN')) {            // If the current recipients list is empty, throw an error            if (empty($this->recipients)) {                /**                 * @see Zend_Mail_Transport_Exception                 */                require_once 'Zend/Mail/Transport/Exception.php';                throw new Zend_Mail_Transport_Exception('Missing To addresses');            }        } else {            // All others, simply grab the recipients and unset the To: header            if (!isset($headers['To'])) {                /**                 * @see Zend_Mail_Transport_Exception                 */                require_once 'Zend/Mail/Transport/Exception.php';                throw new Zend_Mail_Transport_Exception('Missing To header');            }            unset($headers['To']['append']);            $this->recipients = implode(',', $headers['To']);        }        // Remove recipient header        unset($headers['To']);        // Remove subject header, if present        if (isset($headers['Subject'])) {            unset($headers['Subject']);        }        // Prepare headers        parent::_prepareHeaders($headers);    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -