mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-28 14:18:52 +00:00
"Go ahead, make my day."
git-svn-id: file:///svn/phpbb/branches/phpBB-2_0_0@4123 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
parent
1c3ee5f2a4
commit
190eec0f57
6 changed files with 26 additions and 2 deletions
|
@ -141,7 +141,7 @@ class emailer
|
|||
// Send the mail out to the recipients set previously in var $this->address
|
||||
function send()
|
||||
{
|
||||
global $board_config, $lang, $phpEx, $phpbb_root_path;
|
||||
global $board_config, $lang, $phpEx, $phpbb_root_path, $db;
|
||||
|
||||
// Escape all quotes, else the eval will fail.
|
||||
$this->msg = str_replace ("'", "\'", $this->msg);
|
||||
|
@ -207,7 +207,8 @@ class emailer
|
|||
// Build header
|
||||
$this->extra_headers = (($this->replyto != '') ? "Reply-to: <$this->replyto>\n" : '') . (($this->from != '') ? "From: <$this->from>\n" : "From: <" . $board_config['board_email'] . ">\n") . "Return-Path: <" . $board_config['board_email'] . ">\nMessage-ID: <" . md5(uniqid(time())) . "@" . $board_config['server_name'] . ">\nMIME-Version: 1.0\nContent-type: text/plain; charset=" . $this->encoding . "\nContent-transfer-encoding: 8bit\nDate: " . gmdate('D, d M Y H:i:s Z', time()) . "\nX-Priority: 3\nX-MSMail-Priority: Normal\nX-Mailer: PHP\nX-MimeOLE: Produced By phpBB2\n" . (($cc != '') ? "Cc:$cc\n" : '') . (($bcc != '') ? "Bcc:$bcc\n" : '') . trim($this->extra_headers);
|
||||
|
||||
$to = ($to == '') ? "undisclosed-recipients:;" : $to;
|
||||
$empty_to_header = ($to == '') ? TRUE : FALSE;
|
||||
$to = ($to == '') ? (($board_config['sendmail_fix'] && !$this->use_smtp) ? ' ' : 'Undisclosed-recipients:;') : $to;
|
||||
|
||||
// Send message ... removed $this->encode() from subject for time being
|
||||
if ( $this->use_smtp )
|
||||
|
@ -222,6 +223,22 @@ class emailer
|
|||
else
|
||||
{
|
||||
$result = @mail($to, $this->subject, preg_replace("#(?<!\r)\n#s", "\n", $this->msg), $this->extra_headers);
|
||||
|
||||
if (!$result && !$board_config['sendmail_fix'] && $empty_to_header)
|
||||
{
|
||||
$to = ' ';
|
||||
|
||||
$sql = "UPDATE " . CONFIG_TABLE . "
|
||||
SET config_value = '1'
|
||||
WHERE config_name = 'sendmail_fix'";
|
||||
if (!$db->sql_query($sql))
|
||||
{
|
||||
message_die(GENERAL_ERROR, 'Unable to update config table', '', __LINE__, __FILE__, $sql);
|
||||
}
|
||||
|
||||
$board_config['sendmail_fix'] = 1;
|
||||
$result = @mail($to, $this->subject, preg_replace("#(?<!\r)\n#s", "\n", $this->msg), $this->extra_headers);
|
||||
}
|
||||
}
|
||||
|
||||
// Did it work?
|
||||
|
|
Binary file not shown.
|
@ -46,6 +46,7 @@ INSERT INTO phpbb_config (config_name, config_value) VALUES ('smtp_delivery','0'
|
|||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('smtp_host','');
|
||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('smtp_username','');
|
||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('smtp_password','');
|
||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('sendmail_fix','0');
|
||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('require_activation','0');
|
||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('flood_interval','15');
|
||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('board_email_form','0');
|
||||
|
|
|
@ -39,6 +39,7 @@ INSERT INTO phpbb_config (config_name, config_value) VALUES ('smtp_delivery','0'
|
|||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('smtp_host','');
|
||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('smtp_username','');
|
||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('smtp_password','');
|
||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('sendmail_fix','0');
|
||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('require_activation','0');
|
||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('flood_interval','15');
|
||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('board_email_form','0');
|
||||
|
|
|
@ -40,6 +40,7 @@ INSERT INTO phpbb_config (config_name, config_value) VALUES ('smtp_delivery','0'
|
|||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('smtp_host','');
|
||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('smtp_username','');
|
||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('smtp_password','');
|
||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('sendmail_fix','0');
|
||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('require_activation','0');
|
||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('flood_interval','15');
|
||||
INSERT INTO phpbb_config (config_name, config_value) VALUES ('board_email_form','0');
|
||||
|
|
|
@ -875,6 +875,10 @@ switch ($row['config_value'])
|
|||
VALUES ('enable_confirm', '0')";
|
||||
_sql($sql, $errored, $error_ary);
|
||||
|
||||
$sql = "INSERT INTO " . CONFIG_TABLE . " (config_name, config_value)
|
||||
VALUES ('sendmail_fix', '0')";
|
||||
_sql($sql, $errored, $error_ary);
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
|
|
Loading…
Add table
Reference in a new issue