\r\n"); $InputBuffer = fgets($smtp, 1024); $bits = explode(",", $to); foreach($bits as $user) fputs($smtp, "RCPT TO:<".trim($user).">\r\n"); $InputBuffer = fgets($smtp, 1024); fputs($smtp, "DATA\r\n"); $InputBuffer = fgets($smtp, 1024); fputs($smtp, "X-Mailer: CAcert.org Website\r\n"); if (array_key_exists("REMOTE_ADDR", $_SERVER)) fputs($smtp, "X-OriginatingIP: ".$_SERVER["REMOTE_ADDR"]."\r\n"); fputs($smtp, "Sender: $errorsto\r\n"); fputs($smtp, "Errors-To: $errorsto\r\n"); if($replyto != "") fputs($smtp, "Reply-To: $replyto\r\n"); else fputs($smtp, "Reply-To: $from\r\n"); fputs($smtp, "From: $from\r\n"); fputs($smtp, "To: $to\r\n"); if(preg_match("/[^a-zA-Z0-9 .-\[\]!_@]/",$subject)) { fputs($smtp, "Subject: =?utf-8?B?".base64_encode(recode("html..utf-8", $subject))."?=\r\n"); } else { fputs($smtp, "Subject: $subject\r\n"); } fputs($smtp, "Mime-Version: 1.0\r\n"); if($use_utf8) { fputs($smtp, "Content-Type: text/plain; charset=\"utf-8\"\r\n"); } else { fputs($smtp, "Content-Type: text/plain; charset=\"iso-8859-1\"\r\n"); } fputs($smtp, "Content-Transfer-Encoding: quoted-printable\r\n"); fputs($smtp, "Content-Disposition: inline\r\n"); // fputs($smtp, "Content-Transfer-Encoding: BASE64\r\n"); fputs($smtp, "\r\n"); // fputs($smtp, chunk_split(base64_encode(recode("html..utf-8", $message)))."\r\n.\r\n"); $encoded_lines = explode( "\n", str_replace("\r", "", $message) ); array_walk( $encoded_lines, function (&$a) { $a = quoted_printable_encode(recode("html..utf-8", $a)); }); $encoded_message = implode("\n", $encoded_lines); $encoded_message = str_replace("\r.", "\r=2E", $encoded_message); $encoded_message = str_replace("\n.", "\n=2E", $encoded_message); fputs($smtp, $encoded_message); fputs($smtp, "\r\n.\r\n"); fputs($smtp, "QUIT\n"); $InputBuffer = fgets($smtp, 1024); fclose($smtp); } ?>