2004-10-16 00:28:17 +00:00
|
|
|
<? /*
|
2008-04-06 19:45:09 +00:00
|
|
|
LibreSSL - CAcert web application
|
|
|
|
Copyright (C) 2004-2008 CAcert Inc.
|
2004-10-16 00:28:17 +00:00
|
|
|
|
2008-04-06 19:45:09 +00:00
|
|
|
This program is free software; you can redistribute it and/or modify
|
|
|
|
it under the terms of the GNU General Public License as published by
|
|
|
|
the Free Software Foundation; version 2 of the License.
|
2004-10-16 00:28:17 +00:00
|
|
|
|
2008-04-06 19:45:09 +00:00
|
|
|
This program is distributed in the hope that it will be useful,
|
|
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
GNU General Public License for more details.
|
2004-10-16 00:28:17 +00:00
|
|
|
|
2008-04-06 19:45:09 +00:00
|
|
|
You should have received a copy of the GNU General Public License
|
|
|
|
along with this program; if not, write to the Free Software
|
|
|
|
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
2004-10-16 00:28:17 +00:00
|
|
|
*/
|
|
|
|
|
2010-01-18 12:59:39 +00:00
|
|
|
$_SESSION['mconn'] = mysql_connect("127.0.0.1", "username", "password");
|
|
|
|
if ($_SESSION['mconn'] != FALSE)
|
|
|
|
{
|
|
|
|
mysql_select_db("database");
|
|
|
|
$_SESSION['mconn'] = TRUE;
|
|
|
|
}
|
2004-12-06 21:53:35 +00:00
|
|
|
$_SESSION['_config']['normalhostname'] = "www.cacert.org";
|
2008-02-20 20:50:49 +00:00
|
|
|
$_SESSION['_config']['securehostname'] = "secure.cacert.org";
|
2006-11-27 00:52:11 +00:00
|
|
|
$_SESSION['_config']['tverify'] = "tverify.cacert.org";
|
2004-12-09 12:30:18 +00:00
|
|
|
|
2008-02-20 20:50:49 +00:00
|
|
|
function sendmail($to, $subject, $message, $from, $replyto = "", $toname = "", $fromname = "", $errorsto = "returns@cacert.org", $extra="")
|
2004-12-09 12:30:18 +00:00
|
|
|
{
|
2012-10-13 13:53:59 +00:00
|
|
|
$lines = explode("\n", $message);
|
2008-02-20 20:50:49 +00:00
|
|
|
$message = "";
|
2006-03-05 11:18:16 +00:00
|
|
|
foreach($lines as $line)
|
|
|
|
{
|
|
|
|
$line = trim($line);
|
|
|
|
if($line == ".")
|
|
|
|
$message .= " .\n";
|
|
|
|
else
|
|
|
|
$message .= $line."\n";
|
|
|
|
}
|
|
|
|
|
2004-12-09 12:30:18 +00:00
|
|
|
if($fromname == "")
|
|
|
|
$fromname = $from;
|
|
|
|
|
2008-02-20 20:50:49 +00:00
|
|
|
$bits = explode(",", $from);
|
|
|
|
$from = addslashes($bits['0']);
|
|
|
|
$fromname = addslashes($fromname);
|
2004-12-09 12:30:18 +00:00
|
|
|
|
2008-02-20 20:50:49 +00:00
|
|
|
$smtp = fsockopen("localhost", 25);
|
|
|
|
if(!$smtp)
|
|
|
|
{
|
|
|
|
echo("Could not connect to mailserver at localhost:25\n");
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
$InputBuffer = fgets($smtp, 1024);
|
2010-07-09 12:57:08 +00:00
|
|
|
fputs($smtp, "HELO www.cacert.org\r\n");
|
2008-02-20 20:50:49 +00:00
|
|
|
$InputBuffer = fgets($smtp, 1024);
|
2011-07-22 14:11:14 +00:00
|
|
|
fputs($smtp, "MAIL FROM:<returns@cacert.org>\r\n");
|
2008-02-20 20:50:49 +00:00
|
|
|
$InputBuffer = fgets($smtp, 1024);
|
|
|
|
$bits = explode(",", $to);
|
2004-12-09 12:30:18 +00:00
|
|
|
foreach($bits as $user)
|
2011-07-22 14:11:14 +00:00
|
|
|
fputs($smtp, "RCPT TO:<".trim($user).">\r\n");
|
2008-02-20 20:50:49 +00:00
|
|
|
$InputBuffer = fgets($smtp, 1024);
|
|
|
|
fputs($smtp, "DATA\r\n");
|
|
|
|
$InputBuffer = fgets($smtp, 1024);
|
|
|
|
fputs($smtp, "X-Mailer: CAcert.org Website\r\n");
|
2013-04-24 13:13:08 +00:00
|
|
|
if (array_key_exists("REMOTE_ADDR", $_SERVER))
|
|
|
|
fputs($smtp, "X-OriginatingIP: ".$_SERVER["REMOTE_ADDR"]."\r\n");
|
2008-02-20 20:50:49 +00:00
|
|
|
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))
|
2004-12-09 12:30:18 +00:00
|
|
|
{
|
2008-02-20 20:50:49 +00:00
|
|
|
fputs($smtp, "Subject: =?utf-8?B?".base64_encode(recode("html..utf-8", $subject))."?=\r\n");
|
2004-12-09 12:30:18 +00:00
|
|
|
}
|
2008-02-20 20:50:49 +00:00
|
|
|
else
|
|
|
|
{
|
|
|
|
fputs($smtp, "Subject: $subject\r\n");
|
|
|
|
}
|
|
|
|
fputs($smtp, "Mime-Version: 1.0\r\n");
|
|
|
|
if($extra == "")
|
|
|
|
{
|
|
|
|
fputs($smtp, "Content-Type: text/plain; charset=\"utf-8\"\r\n");
|
|
|
|
fputs($smtp, "Content-Transfer-Encoding: 8bit\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");
|
|
|
|
fputs($smtp, recode("html..utf-8", $message)."\r\n.\r\n");
|
|
|
|
fputs($smtp, "QUIT\n");
|
|
|
|
$InputBuffer = fgets($smtp, 1024);
|
|
|
|
fclose($smtp);
|
2004-12-09 12:30:18 +00:00
|
|
|
}
|
2006-04-30 08:30:54 +00:00
|
|
|
|
2004-10-16 00:28:17 +00:00
|
|
|
?>
|