Fixed bug 481943. Regexp that normalized linebreaks to \r\n was fucked, so it was changing (char)\n to \r\n and dropping (char). Hence we lost the char before every single linebreak in every email sent thru SMTP. yay. ALso fixed so it gets the FROM address from the right place.

git-svn-id: file:///svn/phpbb/trunk@1443 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
natec 2001-11-26 00:50:03 +00:00
parent 67aae81a93
commit adb6ff9f58
2 changed files with 14 additions and 6 deletions

View file

@ -171,9 +171,17 @@ class emailer
// //
function send() function send()
{ {
global $phpEx; global $phpEx, $phpbb_root_dir;
$phpbb_root_path = "./"; if (isset($phpbb_root_dir))
{
// we must be in the admin section.
$phpbb_root_path = $phpbb_root_dir;
}
else
{
$phpbb_root_path = "./";
}
if ($this->address == NULL) if ($this->address == NULL)
{ {

View file

@ -41,7 +41,7 @@ function server_parse($socket, $response)
} }
if(!(substr($server_response, 0, 3) == $response)) if(!(substr($server_response, 0, 3) == $response))
{ {
message_die(GENERAL_ERROR, "Ran into problems sending Mail", "", __LINE__, __FILE__); message_die(GENERAL_ERROR, "Ran into problems sending Mail. Response: $server_response", "", __LINE__, __FILE__);
} }
} }
@ -63,7 +63,7 @@ function smtpmail($mail_to, $subject, $message, $headers = "")
// //
// Fix any bare linefeeds in the message to make it RFC821 Compliant. // Fix any bare linefeeds in the message to make it RFC821 Compliant.
// //
$message = ereg_replace("[^\r]\n", "\r\n", $message); $message = preg_replace("/(?<!\r)\n/si", "\r\n", $message);
if ($headers != "") if ($headers != "")
{ {
@ -81,7 +81,7 @@ function smtpmail($mail_to, $subject, $message, $headers = "")
$headers = chop($headers); $headers = chop($headers);
// Make sure there are no bare linefeeds in the headers // Make sure there are no bare linefeeds in the headers
$headers = ereg_replace("[^\r]\n", "\r\n", $headers); $headers = preg_replace("/(?<!\r)\n/si", "\r\n", $headers);
} }
if(trim($mail_to) == "") if(trim($mail_to) == "")
{ {
@ -114,7 +114,7 @@ function smtpmail($mail_to, $subject, $message, $headers = "")
server_parse($socket, "250"); server_parse($socket, "250");
// Specify who the mail is from.... // Specify who the mail is from....
fputs($socket, "MAIL FROM: $email_from\r\n"); fputs($socket, "MAIL FROM: " . $board_config['board_email'] . "\r\n");
server_parse($socket, "250"); server_parse($socket, "250");
// Specify each user to send to and build to header. // Specify each user to send to and build to header.