webForumDet fria alternativet

phpMailer och Exceptions

1 svar · 420 visningar · startad av MickeA.com

MickeA.comMedlem sedan feb. 20034 441 inlägg
#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!

MickeA.comMedlem 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.

128 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)