当我使用带有此代码的phpmailer:$mail = new phpmailer();
我应该给它一个真正的参数,还是它不重要?
我的意思是:$mail = new phpmailer(true);
将电子邮件发送到try块中以及在catch块中发送错误是否很重要?
谢谢!
更新,我的代码,我使用的内容:
$mail = new PHPMailer(true);
try
{
$mail->From = $site_config['k_contact_email'];
$mail->FromName = $site_config['k_webshop_nev'];
$to = $user_email;
$mail->CharSet = "UTF-8";
$mail->AddAddress($user_email);
$mail->Subject = "Regisztráció aktiválása";
$mail->AltBody = "Hogy az üzenetet megtekintse, kérjük, kapcsoljon át HTML nézetre.";
$mail->WordWrap = 80;
$mail->loadtemplate("upd_email/regisztracio.html");
$mail->assign('title','Regisztráció aktiválása');
// Személyes adatok
$mail->assign('user_nev', $user_vnev .' '. $user_knev );
$mail->assign('aktivation_link', "".$host."?activation=".$user_aktivation."");
$mail->assign('domain_name', $host);
$mail->assign('domain_address', $host);
$mail->assign('akt_email_text', $site_config['k_email_akt_text']);
$mail->MsgHTML($mail->message);
$mail->IsHTML(true);
$mail->Send();
header("Location:".$host."/uzenet/uj-regisztracio");
}
catch (phpmailerException $e) {echo $e->errorMessage(); }
catch (Exception $e) {echo $e->getMessage(); }
答案 0 :(得分:1)
好好看documentation从不伤害任何人。在该页面的主要示例中,他们使用phpmailer,没有异常(在构造函数中没有true)。
但是,如果您查看API documentation中的构造函数定义,那么您可以看到传递true将确保该类将(重新)抛出内部错误。如果未在构造函数中设置true,则它将捕获所有内部错误并返回错误代码。
因此,如果在构造函数中传递true,则需要捕获异常并处理它们。如果你没有通过,那么if(!$mail->send()){}
可能就足够了。