최근 이메일 기능을 PHPMailer로 업데이트했습니다. 모든 것이 완벽하게 작동하지만 지금은 BCC에 문제가 있습니다.PHPMailer BCC가 형식을 바꿉니다.
$mail->AddBCC($arr["bcc"]);
과 함께 하나 이상의 주소를 추가하면 이메일 형식이 파괴됩니다. 이메일은 다음과 같이 표시됩니다
사용자 정의 헤더 나던 작업을 추가하거나 다음 나는 오류Could not instantiate mail function.
이 난 인터뷰 이메일-형식을 파괴하는 경우 BCC가 잘 작동 할를 얻을 수 있기 때문이다.
편집 :
이것은 전자 메일을 보내는 전체 기능입니다. 내가 BCC없이 이메일을 보낼 때
$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);
}
그것은 (I 일부 텍스트를 제거했다) 다음과 같습니다
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.....
내가 하나 이상의 BCC가 같은 이메일을 Adresses 추가 다음과 같습니다
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--
나는 지금 그 뜻을 분명히하기를 바랍니다. 전자 메일 서버가 BCC를 제거하기 때문에 BCC를 표시 할 수 없다는 것을 알고 있습니다. 그리고 그게 내가 원하는 건 아니야. 나는 왜 전자 메일이 일반 전자 메일 대신 소스 코드로 표시되는지 알고 싶습니다.
코드를 게시해야합니다. 계속하려면 충분하지 않습니다. 'mail()'전송을 사용하지 않는 한 숨은 참조는 메시지 헤더에 포함되지 않습니다.하지만 게시 한 최소한의 정보로 무엇을하는지 말할 수는 없습니다. – Synchro
죄송 합니다만 이것이 충분하다고 생각했습니다. 나는 더 많은 코드로 내 게시물을 편집하고 내 문제가 무엇인지 더 잘 설명합니다. –