如何自定义 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
属性 示例。
我在我的网站上使用 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
属性 示例。