1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-01-17 22:28:46 +01:00

Merge pull request #6296 from 3D-I/ticket/16879

[ticket/16879] Add events to phpbb_mail()
This commit is contained in:
Máté Bartus 2021-09-29 09:36:03 +02:00 committed by GitHub
commit 1860a06eab
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1906,7 +1906,7 @@ function mail_encode($str, $eol = "\r\n")
*/
function phpbb_mail($to, $subject, $msg, $headers, $eol, &$err_msg)
{
global $config, $phpbb_root_path, $phpEx;
global $config, $phpbb_root_path, $phpEx, $phpbb_dispatcher;
// Convert Numeric Character References to UTF-8 chars (ie. Emojis)
$subject = utf8_decode_ncr($subject);
@ -1935,8 +1935,54 @@ function phpbb_mail($to, $subject, $msg, $headers, $eol, &$err_msg)
*/
$additional_parameters = $config['email_force_sender'] ? '-f' . $config['board_email'] : '';
/**
* Modify data before sending out emails with PHP's mail function
*
* @event core.phpbb_mail_before
* @var string to The message recipient
* @var string subject The message subject
* @var string msg The message text
* @var string headers The email headers
* @var string eol The endline character
* @var string additional_parameters The additional parameters
* @since 3.3.6-RC1
*/
$vars = [
'to',
'subject',
'msg',
'headers',
'eol',
'additional_parameters',
];
extract($phpbb_dispatcher->trigger_event('core.phpbb_mail_before', compact($vars)));
$result = mail($to, mail_encode($subject, ''), wordwrap(utf8_wordwrap($msg), 997, "\n", true), $headers, $additional_parameters);
/**
* Execute code after sending out emails with PHP's mail function
*
* @event core.phpbb_mail_after
* @var string to The message recipient
* @var string subject The message subject
* @var string msg The message text
* @var string headers The email headers
* @var string eol The endline character
* @var string additional_parameters The additional parameters
* @var bool result True if the email was sent, false otherwise
* @since 3.3.6-RC1
*/
$vars = [
'to',
'subject',
'msg',
'headers',
'eol',
'additional_parameters',
'result',
];
extract($phpbb_dispatcher->trigger_event('core.phpbb_mail_after', compact($vars)));
$collector->uninstall();
$err_msg = $collector->format_errors();