Newer
Older
require_once('Mail.php');
require_once('Mail/mime.php');
function __construct($conf) {
$this->conf = $conf;
$this->bcc = $conf['mail']['bcc'];
$this->reply = $conf['mail']['reply'];
$this->sender = $conf['mail']['sender'];
// $params['debug'] = true;
$params['host'] = $conf['mail']['smtpHost'];
$params['localhost'] = $conf['mail']['smtpEhlo'];
$params['username'] = $conf['mail']['smtpUser'];
function mail($to, $subject, $body) {
/**
* Falls eine Zeile der Nachricht mehr als 70 Zeichen enthälten könnte,
* sollte wordwrap() benutzt werden (http://de.php.net/manual/de/function.mail.php):
*
* $body = wordwrap($body, 70);
* $header = 'From: '. $this->sender . "\n" .
* 'Reply-To: '. $this->sender . "\n" .
* 'Cc: ' . $this->cc . "\n" .
* 'X-Mailer: PHP/' . phpversion() . "\n" .
* 'MIME-Version: 1.0' . "\n" .
* 'Content-type: text/plain; charset=UTF-8' . "\n".
* 'Content-Transfer-Encoding: 8bit' . "\n";
*
* Replace line breaks on www.textgrid.de:
*
* $body = str_replace("\r\n", "\n", $body);
* mail($to, $subject, $body, $header);
*/
if (strpos($subject, 'Request Received') or strpos($subject, 'Anfrage eingegangen')) {
$recipients = $to;
}
else {
$recipients = $to . ', ' . $this->bcc;
$headers['Bcc'] = $this->bcc;
}
$headers['From'] = $this->sender;
$headers['Reply-To'] = $this->reply;
$headers['Subject'] = $subject;
$headers['To'] = $to;
$body = wordwrap($body, 70);
$text = $body;
// $html = '<html><body>' . nl2br($body) . '</body></html>';
$mime = new Mail_mime(array('eol' => "\n",
'head_charset' => 'UTF-8',
'text_charset' => 'UTF-8',
'text_encoding' => '8bit')
);
// $mime = new Mail_mime(array('eol' => "\n",
// 'head_charset' => 'UTF-8',
// 'html_charset' => 'UTF-8',
// 'text_charset' => 'UTF-8',
// 'text_encoding' => '8bit')
// );
$mime->setTXTBody($text);
// $mime->setHTMLBody($html);
$body = $mime->get();
$headers = $mime->headers($headers);
$this->smtp->send($recipients, $headers, $body);
}