Zum Inhalt springen

BCC Empfänger bei htmlmail Klasse

Erstellt am 25. Mai 2008 · 5 Antworten · letzte Antwort am 16. August 2008

Tags: PHP, E-Mail-Versand, Frage

einpraegsam.​net ·

CC scheint kein Problem:

$htmlMail = t3lib_div::makeInstance('t3lib_htmlmail');
$htmlMail->start();
$htmlMail->recipient = 'email@web.de';
$htmlMail->recipient_copy = 'newemail@web.de';
...

Aber Blind Carbon Copy?
Ideen?

Grüße, Alex

jenses ·
einpraegsam.net schrieb

Andererseits, wenn ich mir die Klasse so anschaue, gibt es kein CC oder BCC, sondern eine getrennte Mail beim Einsatz von $this->recipient_copy!?

http://typo3.org/fileadmin/typo3api-4.0.0/d2/dab/class_8t3lib__htmlmail_8php-source.html#l00691

Wenn du echte CC oder BCC versenden willst,
mußt du die zusätzlichen Empfänger als Header übergeben:

$htmlMail->header = 'Bcc: name1@example.com' . "\r\n";
$htmlMail->header .= 'Bcc: name2@example.com' . "\r\n";
einpraegsam.​net ·
jenses schrieb

Wenn du echte CC oder BCC versenden willst,
mußt du die zusätzlichen Empfänger als Header übergeben

Hatte ich mir bereits gedacht - danke

andes ·

Die Klasse enthält zwar eine Methode public function add_header(), aber es ist nicht möglich über diese Methode Bcc oder Cc zu übergeben.
Die Übergabe funktioniert nur so lange bis die Methode $this->send() aufgerufen wird. Dort wird durch den Aufruf von $this->setHeader() die bis dahin gefüllte Variable $this->headers wieder geleert. Nach dem Aufruf von $this->setHeader() erfolgt auch gleich der Aufruf von $this->sendTheMail();. Also funktioniert eine Übergabe per

$this->headers .= 'Bcc: email';

auch nicht.
Fraglich warum die Methode add_header() public ist.

public function setHeaders() {
   $this->headers = '';
   ....
}