From 689d58525ed58be24d3cfdabcdee79f1fd35372c Mon Sep 17 00:00:00 2001 From: the_systech Date: Wed, 9 May 2001 21:47:49 +0000 Subject: [PATCH] New file for smtp mail git-svn-id: file:///svn/phpbb/trunk@266 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/smtp.php | 154 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 154 insertions(+) create mode 100644 phpBB/includes/smtp.php diff --git a/phpBB/includes/smtp.php b/phpBB/includes/smtp.php new file mode 100644 index 0000000000..6e3cf6fad8 --- /dev/null +++ b/phpBB/includes/smtp.php @@ -0,0 +1,154 @@ + 1) + { + $headers = join("\r\n", $headers); + } + else + { + $headers = $headers[0]; + } + } + $headers = chop($headers); + + // Make sure there are no bare linefeeds in the headers + $headers = ereg_replace("[^\r]\n", "\r\n", $headers); + } + if(trim($mail_to) == "") + { + error_die(GENERAL_ERROR, "No email address specified"); + exit; + } + if(trim($subject) == "") + { + error_die(GENERAL_ERROR, "No email Subject specified"); + } + if(trim($message) == "") + { + error_die(GENERAL_ERROR, "Email message was blank!"); + } + $mail_to_array = explode(",", $mail_to); + // Ok we have error checked as much as we can to this point let's get on + // it already. + $socket = fsockopen($smtp_vars['host'], $smtp_vars['port'], &$errno, @$errstr, 30) or + error_die(GENERAL_ERROR, "Could not connect to smtp host!"); + server_parse($socket, "220"); + + // Send the RFC821 specified HELO. + fputs($socket, "HELO " . $stmp_vars['host'] . "\r\n"); + + // From this point onward most server response codes should be 250 + server_parse($socket, "250"); + + // Specify who the mail is from.... + fputs($socket, "MAIL FROM: $email_from\r\n"); + server_parse($socket, "250"); + + // Specify each user to send to and build to header. + $to_header = "To: "; + foreach($mail_to_array as $mail_to_address) + { + fputs($socket, "RCPT TO: $mail_to_address\r\n"; + server_parse($socket, "250"); + $to_header .= "<$mail_to_address>, "; + } + + // Ok now we tell the server we are ready to start sending data + fputs($socket, "DATA\r\n"); + + // This is the last response code we look for until the end of the message. + server_parse($socket, "354"); + + // Send the Subject Line... + fputs($socket, "Subject: $subject\r\n"); + // Now the To Header. + fputs($socket, "$to_header\r\n"); + // Now any custom headers.... + fputs($socket, "$headers\r\n\r\n"); + // Ok now we are ready for the message... + fputs($socket, "$message\r\n"); + // Ok the all the ingredients are mixed in let's cook this puppy... + fputs($socket, ".\r\n"); + server_parse($socket, "250"); + + // Now tell the server we are done and close the socket... + fputs($socket, "quit\r\n"); + fclose($socket); + return(1); +} + + + + + + +?>