如何自定义 PHPMailer 错误消息

时间:2021-01-04 22:48:13

标签: php phpmailer

我在我的网站中使用 PHPMailer 在用户创建帐户时向他们发送电子邮件,我希望它向用户回显错误消息。有没有办法可以自定义它返回的错误消息(错误时)? (基本上显示为 $mail->ErrorInfo 的值)

1 个答案:

答案 0 :(得分:2)

您可以在某种程度上创建自己的语言文件,然后要求 PHPMailer 使用它:

$mail->setLanguage('xx', '/path/to/languagefiles/');

然后使用这些参数根据固定模式构造文件路径:

$lang_file = $lang_path . 'phpmailer.lang-' . $langcode . '.php';

因此您需要在以下位置创建翻译文件:

/path/to/languagefiles/phpmailer.lang-xx.php

注意 en 语言代码被特殊处理,因为英语语言字符串是内置在 PHPMailer 类中的,而不是保存在外部文件中,因此要创建任意自定义语言,请使用占位符语言代码就像我在这里用 xx 所做的那样。

有关语言文件的格式和预期值,请参阅 language 文件夹中的文件。是这样的:

$PHPMAILER_LANG['authenticate']         = 'Erreur SMTP : échec de l\'authentification.';
$PHPMAILER_LANG['connect_host']         = 'Erreur SMTP : impossible de se connecter au serveur SMTP.';
$PHPMAILER_LANG['data_not_accepted']    = 'Erreur SMTP : données incorrectes.';

您只需要定义要覆盖的字符串,因为它们覆盖在默认英文翻译之上。

您还可以注入调试处理程序并使用它来为您处理错误消息 - 有关示例,请参阅源代码中的 Debugoutput 属性。

相关问题