_config['eol'])) { $eol = $this->_config['eol']; } $headers = $email->getHeaders(array('from', 'sender', 'replyTo', 'readReceipt', 'returnPath', 'to', 'cc', 'bcc')); $to = $headers['To']; unset($headers['To']); foreach ($headers as $key => $header) { $headers[$key] = str_replace("\r\n", '', $header); } $headers = $this->_headersToString($headers, $eol); $subject = str_replace("\r\n", '', $email->subject()); $to = str_replace("\r\n", '', $to); $message = implode($eol, $email->message()); $params = isset($this->_config['additionalParameters']) ? $this->_config['additionalParameters'] : null; $this->_mail($to, $subject, $message, $headers, $params); $headers .= $eol . 'Subject: ' . $subject; $headers .= $eol . 'To: ' . $to; return array('headers' => $headers, 'message' => $message); } /** * Wraps internal function mail() and throws exception instead of errors if anything goes wrong * * @param string $to email's recipient * @param string $subject email's subject * @param string $message email's body * @param string $headers email's custom headers * @param string $params additional params for sending email, will be ignored when in safe_mode * @throws SocketException if mail could not be sent * @return void */ protected function _mail($to, $subject, $message, $headers, $params = null) { if (ini_get('safe_mode')) { //@codingStandardsIgnoreStart if (!@mail($to, $subject, $message, $headers)) { $error = error_get_last(); $msg = 'Could not send email: ' . (isset($error['message']) ? $error['message'] : 'unknown'); throw new SocketException($msg); } } elseif (!@mail($to, $subject, $message, $headers, $params)) { $error = error_get_last(); $msg = 'Could not send email: ' . (isset($error['message']) ? $error['message'] : 'unknown'); //@codingStandardsIgnoreEnd throw new SocketException($msg); } } }