如何自定义 PHPMailer 错误消息

How to customize PHPMailer error messages

我在我的网站上使用 PHPMailer 在用户创建帐户时向其发送电子邮件,我希望它能将错误消息回显给用户。有没有一种方法可以自定义 returns(出错时)的错误消息? (基本上显示为 $mail->ErrorInfo 的值)

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

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

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

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

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

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

请注意 en 语言代码被特殊对待,因为英语字符串内置于 PHPMailer class,而不是保存在外部文件中,因此要创建任意自定义语言,使用占位符语言代码,就像我在此处使用 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 属性 示例。