phpMailer och Exceptions

PHP

1 svar · 423 visningar · startad av MickeA.com

Medlem sedan feb. 20034 441 inlägg
Trådstart#1

Hej

Har grymma problem med phpMailer och hur exceptions "kastas".

Såhär har jag gjort (enligt manualen):

try {
	$mail->AddReplyTo(config("EMAIL_ADDR_CONTACT"), config("CLIENT_LONG_NAME"));
	$mail->AddAddress($user_email, $user_firstname . " " . $user_lastname);

	$mail->SetFrom(MAIL_FROM, MAIL_FROMNAME);
	$mail->Subject = "Kontoåterställning";

	$mail->Send();
	$returnMsg .= "\nAnvändaren har aviserats!";

} catch (phpmailerException $e) {
	$returnMsg .= "\nAnvändaren kunde inte aviseras (" . $e->errorMessage() . ").";
	

} catch (Exception $e) {
	$returnMsg .= "\nAnvändaren kunde inte aviseras (" . $e->getMessage() . ").";
}

Själva mailscriptet körs via ajax (jQuery) och scriptet _ska_ spotta ur sig resultatet som JSON.

Problemet är att ev. exceptions som phpMailer kastar skrivs ut rakt upp och ner, men jag vill "spara" ev. exceptions i variablen returnMsg. Som det funkar nu att dom bara skrivs ut, pajjar hela responsen så användaren "upplever" att sidan slutat svara.

Så, hur ska jag bära mig åt för att "samla" ev. undantag i en variabel?

Tack!

Medlem sedan feb. 20034 441 inlägg
#2

Hittade lite info om det här när jag Googlade. Tydligen är det ett "känt" fel hos phpMailer och det beror på en kombination av något i PHP tillsammans med att dom har en egen extension av class Exception.

Har iaf. lyckats modifiera klassen nu så att inget skrivs ut direkt av den.

270 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
136 ms — ändringar (db)