Jump to content
xt:Commerce Community Forum

Bestell-eMail Weiterleitung mit mehreren Adressen per Smtp geht nicht!


bugfree

Recommended Posts

Hallo,

unser Shop basiert auf v3.0.4 SP1 und spuckt beim Versenden von BestellMails an mehrere Verrechnung - Weiterleitungsadressen (mit Komma getrennt) folgenden Fehler aus:

"Message was not sent

Mailer Error: SMTP Fehler: Die folgenden Empfänger sind nicht korrekt: [email protected], [email protected]"

Verwendet wird smtp. Trägt man nur eine Weiterleitungsadresse ein, so funktioniert es. :confused:

In der includes/classes/class.phpmailer.php wird der eMail-Adressen Weiterleitungsstring in folgender Funktion aufgenommen:

function AddBCC($address, $name = "") {

$cur = count($this->bcc);

$this->bcc[$cur][0] = trim($address);

$this->bcc[$cur][1] = $name;

In bcc[$curr][0] steht der Gesamtstring ([email protected], [email protected]),

der in der SmtpSend Funktion "smtp->Recipient($this->bcc[$i][0])" an die Recipient-Funktion der class.smtp.php übergeben wird,

um darin geprüft zu werden.

Komisch ist, dass in der Recipient-Funktion

"... fputs($this->smtp_conn,"RCPT TO:<" . $to . ">" . $this->CRLF) ..."

hier ist $to der eMail-String nicht die einzelnen eMail, die ja per Komma getrennt sind geprüft werden, sonder der gesamt String. Dieser ist aber je keine gültige eMail-Adresse, was die Fehlermeldung verursacht.

Ist dieses Problem bekannt, gibt es einen Bugfix dafür?

Danke schon Mal im Voraus, Gruß Tom

Link to comment
Share on other sites

Hallo,

unser Shop basiert auf v3.0.4 SP1 und spuckt beim Versenden von BestellMails an mehrere Verrechnung - Weiterleitungsadressen (mit Komma getrennt) folgenden Fehler aus:

"Message was not sent

Mailer Error: SMTP Fehler: Die folgenden Empfänger sind nicht korrekt: [email protected], [email protected]"

Verwendet wird smtp. Trägt man nur eine Weiterleitungsadresse ein, so funktioniert es. :confused:

In der includes/classes/class.phpmailer.php wird der eMail-Adressen Weiterleitungsstring in folgender Funktion aufgenommen:

function AddBCC($address, $name = "") {

$cur = count($this->bcc);

$this->bcc[$cur][0] = trim($address);

$this->bcc[$cur][1] = $name;

In bcc[$curr][0] steht der Gesamtstring ([email protected], [email protected]),

der in der SmtpSend Funktion "smtp->Recipient($this->bcc[$i][0])" an die Recipient-Funktion der class.smtp.php übergeben wird,

um darin geprüft zu werden.

Komisch ist, dass in der Recipient-Funktion

"... fputs($this->smtp_conn,"RCPT TO:<" . $to . ">" . $this->CRLF) ..."

hier ist $to der eMail-String nicht die einzelnen eMail, die ja per Komma getrennt sind geprüft werden, sonder der gesamt String. Dieser ist aber je keine gültige eMail-Adresse, was die Fehlermeldung verursacht.

Ist dieses Problem bekannt, gibt es einen Bugfix dafür?

Danke schon Mal im Voraus, Gruß Tom

Welcher Provider?

jürgen

Link to comment
Share on other sites

  • 2 weeks later...
  • 3 months later...
  • 2 weeks later...

ich habe mir jetzt mit folgendem Code in der inc/xt_php_mail.inc.php ausgeholfen:


if (!empty($forwarding_to)) {
$forwarder = explode(",", $forwarding_to);
for ($i = 0; $i < count($forwarder); $i++) {
$mail->AddBCC($forwarder[$i]);
}
}[/php]

anstatt der

[php]
if ($forwarding_to != '')
$mail->AddBCC($forwarding_to);

in ca. Zeile 88.

Außerdem habe ich Zeile 100 bis 102 verändert, sodass die Bestellung nicht abbricht:


$mail_error .= "Message was not sent <br/>\n";
$mail_error .= "Mailer Error: ".$mail->ErrorInfo;
return false;[/php]

anbei meine geänderte Datei. ich hoffe das es euch hilft. es ist nur ein workaround.

xtc_php_mail.inc.php.txt

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
  • Create New...