cakephp2-php8/lib/Cake/Network/Email/AbstractTransport.php

76 lines
1.6 KiB
PHP
Raw Normal View History

2011-03-01 16:47:05 +00:00
<?php
/**
* Abstract send email
*
* PHP 5
*
* CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
* Copyright 2005-2011, Cake Software Foundation, Inc. (http://cakefoundation.org)
*
* Licensed under The MIT License
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright 2005-2011, Cake Software Foundation, Inc. (http://cakefoundation.org)
* @link http://cakephp.org CakePHP(tm) Project
* @package Cake.Network.Email
2011-03-01 16:47:05 +00:00
* @since CakePHP(tm) v 2.0.0
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
*/
/**
* Abstract class
*
* @package Cake.Network.Email
2011-03-01 16:47:05 +00:00
*/
abstract class AbstractTransport {
/**
* Configurations
*
* @var array
*/
protected $_config = array();
2011-03-01 16:47:05 +00:00
/**
* Send mail
*
* @params object $email CakeEmail
* @return boolean
*/
abstract public function send(CakeEmail $email);
/**
* Set the config
*
* @param array $config
* @return object $this
*/
public function config($config = array()) {
if (!empty($config)) {
$this->_config = $config;
}
}
2011-03-01 16:47:05 +00:00
/**
* Help to convert headers in string
*
* @param array $headers Headers in format key => value
* @param string $eol
* @return string
*/
protected function _headersToString($headers, $eol = "\r\n") {
$out = '';
foreach ($headers as $key => $value) {
if ($value === false || $value === null || $value === '') {
continue;
}
2011-03-01 16:47:05 +00:00
$out .= $key . ': ' . $value . $eol;
}
if (!empty($out)) {
$out = substr($out, 0, -1 * strlen($eol));
}
return $out;
}
}