Ich habe vor kurzem unsere alte E-Mail-Funktion zu PHPMailer aktualisiert. Alles funktioniert perfekt, aber jetzt habe ich ein Problem mit BCC. Wenn ich eine oder mehrere Adressen mitPHPMailer BCC zerstört Format
$mail->AddBCC($arr["bcc"]);
hinzufügen, wird das E-Mail-Format zerstört. E-Mails werden wie folgt aussehen:
einen benutzerdefinierten Header nicht funktioniert Hinzufügen entweder weil dann erhalte ich die Fehler
Could not instantiate mail function.
BCC gut funktionieren würde, wenn es würde nicht die E-Mail-Format zerstören.
EDIT:
Dies ist die gesamte Funktion E-Mail zu senden.
$adressen=mail_get_adressen_name();
if(!isset($arr["send_to"]))
{
return array("fehler"=>"Kein Empfänger angegeben");
}
if(!isset($arr["subject"]))
{
$arr["subject"]="";
}
if(!isset($arr["from"]))
{
return array("fehler"=>"Kein Absender angegeben");
}
if(!isset($arr["disposition"]))
{
$arr["disposition"]=false;
}
if(!isset($arr["message"]))
{
$arr["message"]="";
}
if(!isset($arr["message_nohtml"]) or $arr["message_nohtml"]=="")
{
$arr["message_nohtml"]=strip_tags(str_ireplace(array("<br />","<br>","<br/>","<li>"), "\r\n", $arr["message"]));
}
if(!isset($arr["cc"]))
{
$arr["cc"]="";
}
else
{
if(trim($arr["cc"])!="")
{
if(!stristr($arr["cc"],"@") && strlen($arr["cc"])<4)
{
$arr["cc"].="@.......";
}
}
}
if(!isset($arr["bcc"]))
{
$arr["bcc"]="";
}
else
{
if(trim($arr["bcc"])!="")
{
if(!stristr($arr["bcc"],"@") && strlen($arr["bcc"])<4)
{
$arr["bcc"].="@......";
}
}
}
if(!stristr($arr["send_to"],"@") && strlen($arr["send_to"])<4)
{
$arr["send_to"].="@.......";
}
if(!stristr($arr["from"],"@") && strlen($arr["from"])<4)
{
$arr["from"].="@.........";
}
$anhang=cache_get(HR_USER,$window,"MAIL_ANHANG",$arr);
$arr["message"]=convert_text_to_utf8($arr["message"]);
$arr["message_nohtml"]=convert_text_to_utf8($arr["message_nohtml"]);
$arr["subject"]=convert_text_to_utf8($arr["subject"]);
$arr["message"]=iconv("UTF-8","Windows-1252",$arr["message"]);
$arr["message_nohtml"]=iconv("UTF-8","Windows-1252",$arr["message_nohtml"]);
$arr["subject"]=iconv("UTF-8","Windows-1252",$arr["subject"]);
$mail = new PHPMailer;
if(isset($adressen[strtolower($arr["from"])]))
{
$mail->setFrom($arr["from"],iconv("UTF-8","Windows-1252",convert_text_to_utf8($adressen[strtolower($arr["from"])])));
}
else
{
$mail->setFrom($arr["from"]);
}
if(stristr($arr["send_to"],","))
{
$arr2=explode(",",$arr["send_to"]);
foreach($arr2 as $val)
{
if(isset($adressen[strtolower($val)]))
{
$mail->addAddress($val,iconv("UTF-8","Windows-1252",convert_text_to_utf8($adressen[strtolower($val)])));
}
else
{
$mail->addAddress($val);
}
}
}
else
{
if(isset($adressen[strtolower($arr["send_to"])]))
{
$mail->addAddress($arr["send_to"],iconv("UTF-8","Windows-1252",convert_text_to_utf8($adressen[strtolower($arr["send_to"])])));
}
else
{
$mail->addAddress($arr["send_to"]);
}
}
if($arr["cc"]!="")
{
if(stristr($arr["cc"],","))
{
$arr2=explode(",",$arr["cc"]);
foreach($arr2 as $val)
{
if(isset($adressen[strtolower($val)]))
{
$mail->AddCC($val,iconv("UTF-8","Windows-1252",convert_text_to_utf8($adressen[strtolower($val)])));
}
else
{
$mail->AddCC($val);
}
}
}
else
{
if(isset($adressen[strtolower($arr["cc"])]))
{
$mail->AddCC($arr["cc"],iconv("UTF-8","Windows-1252",convert_text_to_utf8($adressen[strtolower($arr["cc"])])));
}
else
{
$mail->AddCC($arr["cc"]);
}
}
}
if(trim($arr["bcc"])!="" and HR_USER=="add")
{
$mail->AddBCC($arr["bcc"]);
}
if(isset($adressen[strtolower($arr["from"])]))
{
$mail->addReplyTo($arr["from"],iconv("UTF-8","Windows-1252",convert_text_to_utf8($adressen[strtolower($arr["from"])])));
}
else
{
$mail->addReplyTo($arr["from"]);
}
$mail->isHTML(true);
$mail->Subject = $arr["subject"];
$mail->Body = $arr["message"];
$mail->AltBody = $arr["message_nohtml"];
if($arr["disposition"])
{
$mail->ConfirmReadingTo = $arr["from"];
}
if(is_array($anhang))
{
foreach($anhang as $val)
{
$mail->addAttachment($val["pfad"],$val["name"]);
}
}
if($mail->send())
{
return array("fehler"=>"");
}
else
{
err($mail->ErrorInfo);
return array("fehler"=>"Mail versand fehlgeschlagen. Bitte melden Sie sich bei der EDV.<br>".$mail->ErrorInfo);
}
Als ich die E-Mail ohne BCC senden sieht es wie folgt aus (ich hatte einige Text zu entfernen):
Für Sie wurde ein Vorgang zu Auftrag 11EDV erstellt.
Vorgang öffnen
Kategorie:
EDV Entwicklung
Vorgangs-Bemerkung:
Gibt es eine Möglichkeit, eine E-Mail mit einer Auftragsbestätigung als Anhang direkt im HIS als Auftragsbestätigung hochzuladen?
Momentan müssen wir die PDF ja auf dem PC zwischenspeichern und dann im HIS als Event Anhang hochladen.
letzte Event-Bemerkung von hoj:
Anregung von ....some name....
.......some footer.....
Als ich hinzufügen eine oder mehrere BCC Adresses die gleiche E-Mail wie folgt aussieht:
Planung (intern) (EDV Entwicklung) Dokumentnummer: 11EDV - 75, BVNR: 71122
.....my email adress......
27.04.2017 11:24
An: .....my email adress......,
This is a multi-part message in MIME format.
--b1_49abaa950e1203ed180ed1d5471145f7
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
Für Sie wurde ein Vorgang zu Auftrag 11EDV erstellt.
Vorgang öffnen
Kategorie:
EDV Entwicklung
Vorgangs-Bemerkung:
Gibt es eine Möglichkeit, eine E-Mail mit einer Auftragsbestätigung als Anhang direkt im HIS als Auftragsbestätigung hochzuladen?
Momentan müssen wir die PDF ja auf dem PC zwischenspeichern und dann im HIS als Event Anhang hochladen.
letzte Event-Bemerkung von hoj:
Anregung von ....some name....
......footer.......
--b1_49abaa950e1203ed180ed1d5471145f7
Content-Type: text/html; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
Für Sie wurde ein Vorgang zu Auftrag 11EDV erstellt.<br> <b>Vorgang öffnen</b></a><br><br>Kategorie:<br>EDV Entwicklung<br><br>Vorgangs-Bemerkung:<br>Gibt es eine Möglichkeit, eine E-Mail mit einer Auftragsbestätigung als Anhang direkt im HIS als Auftragsbestätigung hochzuladen?<br />
Momentan müssen wir die PDF ja auf dem PC zwischenspeichern und dann im HIS als Event Anhang hochladen.<br><br>letzte Event-Bemerkung von <b>hoj</b>:<br>Anregung von ....some name....<br>
......footer.......
--b1_49abaa950e1203ed180ed1d5471145f7--
Ich hoffe es ist jetzt klar, was ich meine. Ich weiß, dass die BCCs nicht angezeigt werden können, weil der E-Mail-Server sie entfernt. Und das ist nicht was ich will. Ich möchte nur wissen, warum die E-Mail als Quellcode anstelle einer normalen E-Mail angezeigt wird.
Sie müssen Ihren Code posten - es gibt hier nicht genug, um weiterzumachen. BCC wird nicht in die Nachrichtenkopfzeilen aufgenommen, es sei denn, Sie verwenden den 'mail()' -Transport - aber ich kann nicht sagen, was Sie mit den minimalen Informationen tun, die Sie gepostet haben. – Synchro
Entschuldigung, ich dachte, das ist genug. Ich bearbeite meinen Beitrag mit mehr Code und mit einer besseren Erklärung, was mein Problem ist. –