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

📄 sendmail.php

📁 ProjectPier 源码 很好的项目管理程序
💻 PHP
字号:
<?php/** * This is the Sendmail handler for Swift Mailer, a PHP Mailer class. * * @package	Swift * @version	>= 2.0.0 * @author	Chris Corbyn * @date	30th July 2006 * @license http://www.gnu.org/licenses/lgpl.txt Lesser GNU Public License * * @copyright Copyright &copy; 2006 Chris Corbyn - All Rights Reserved. * @filesource * *   This library is free software; you can redistribute it and/or *   modify it under the terms of the GNU Lesser General Public *   License as published by the Free Software Foundation; either *   version 2.1 of the License, or (at your option) any later version. * *   This library is distributed in the hope that it will be useful, *   but WITHOUT ANY WARRANTY; without even the implied warranty of *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU *   Lesser General Public License for more details. * *   You should have received a copy of the GNU Lesser General Public *   License along with this library; if not, write to * *   The Free Software Foundation, Inc., *   51 Franklin Street, *   Fifth Floor, *   Boston, *   MA  02110-1301  USA * *    "Chris Corbyn" <chris@w3style.co.uk> * */if (!defined('SWIFT_AUTO_DETECT')) define('SWIFT_AUTO_DETECT', -2);/** * Sendmail Connection Class. * Connects to a local binary MTA and stores the connections internally * @package Swift */class Swift_Connection_Sendmail implements Swift_IConnection{	/**	 * Sendmail Command (full path and arguments)	 * This can be a different MTA that behaves like sendmail	 * Exim works here.	 * @var	string	command	 */	public $command = "/usr/sbin/sendmail -bs";	/**	 * Sendmail Process handle	 * @var	resource	handle	 */	public $handle;	/**	 * Process Pipes from proc_open()	 * @var	array	pipes	 */	public $pipes;	/**	 * MTA Read part of I/O for Swift	 * @var	resource	socket (reference)	 */	public $readHook;	/**	 * MTA Write part of I/O for Swift	 * @var	resource	socket (reference)	 */	public $writeHook;	/**	 * If the server is connected to the MTA.	 * @var bool connected	 */	public $connected = false;		/**	 * Constructor	 * @param	string	Sendmail command, optional	 */	public function __construct($command=false)	{		if ($command == SWIFT_AUTO_DETECT) $command = @trim(`which sendmail`).' -bs';		if ($command) $this->command = $command;	}	/**	 * Establishes a connection with the MTA	 * The SwiftInstance Object calls this	 *	 * @return	bool	connected	 */	public function start()	{		return $this->initializeProcess();	}	/**	 * Establishes a connection with the MTA	 *	 * @return	bool	connected	 */	public function initializeProcess()	{		$pipes_spec = array(			array("pipe", "r"),			array("pipe", "w"),			array("pipe", "w")		);		$this->handle = @proc_open($this->command, $pipes_spec, $this->pipes);				$this->writeHook =& $this->pipes[0];		$this->readHook =& $this->pipes[1];				if (!$this->handle) return $this->connected = false;		else return $this->connected = true;	}	/**	 * Closes the connection with the MTA	 * Called by the SwiftInstance object	 *	 * @return	void	 */	public function stop()	{		$this->closeProcess();	}	/**	 * Closes the connection with the MTA	 *	 * @return	void	 */	protected function closeProcess()	{		foreach ($this->pipes as $pipe) fclose($pipe);		if ($this->handle && $this->connected)		{			proc_close($this->handle);			$this->writeHook = false;			$this->readHook = false;			$this->connected = false;		}	}	/**	 * Returns TRUE if we're connected to the MTA	 */	public function isConnected()	{		return $this->connected;	}}?>

⌨️ 快捷键说明

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