X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=functions%2Fsmtp.php;h=6241c02f0cf5a08abdc75a26e8edf87c31a47b97;hb=bcb432a37b8baaf9de42ffa0732580859cee3d56;hp=bae3ccb89fb06de08dd4e2fa33bd5ec042ae9b97;hpb=c175e2e4edf5812302f3bc2dd32ce5330e69cce7;p=squirrelmail.git diff --git a/functions/smtp.php b/functions/smtp.php index bae3ccb8..6241c02f 100644 --- a/functions/smtp.php +++ b/functions/smtp.php @@ -16,9 +16,11 @@ } } - function sendMessage($smtpServerAddress, $smtpPort, $to, $subject, $body) { - $to = addslashes($to); - $body = addslashes($body); + function sendMessage($smtpServerAddress, $smtpPort, $username, $domain, $t, $c, $b, $subject, $body, $version) { + $to = parseAddrs($t); + $cc = parseAddrs($c); + $bcc = parseAddrs($b); + $body = stripslashes($body); $from = "$username@$domain"; echo ""; @@ -28,27 +30,43 @@ echo "$errorNumber : $errorString
"; exit; } - echo htmlspecialchars(fgets($smtpConnection, 1024)) . "
"; + $to_list = getLineOfAddrs($to); + $cc_list = getLineOfAddrs($cc); + + /** Lets introduce ourselves */ + fputs($smtpConnection, "HELO $domain\n"); + /** Ok, who is sending the message? */ fputs($smtpConnection, "MAIL FROM:<$from>\n"); - echo htmlspecialchars(fgets($smtpConnection, 1024)) . "
"; - fputs($smtpConnection, "RCPT TO:<$to>\n"); - echo htmlspecialchars(fgets($smtpConnection, 1024)) . "
"; + /** send who the recipients are */ + for ($i = 0; $i < count($to); $i++) { + fputs($smtpConnection, "RCPT TO:<$to[$i]>\n"); + } + for ($i = 0; $i < count($cc); $i++) { + fputs($smtpConnection, "RCPT TO:<$cc[$i]>\n"); + } + for ($i = 0; $i < count($bcc); $i++) { + fputs($smtpConnection, "RCPT TO:<$bcc[$i]>\n"); + } + /** Lets start sending the actual message */ fputs($smtpConnection, "DATA\n"); - echo htmlspecialchars(fgets($smtpConnection, 1024)) . "
"; - - fputs($smtpConnection, "Subject: $subject\n"); - fputs($smtpConnection, "Date: " . date() . "\n"); - fputs($smtpConnection, "To: <$to>\n"); - fputs($smtpConnection, "From: <$from>\n"); - fputs($smtpConnection, "$body\n"); - fputs($smtpConnection, ".\n"); - echo htmlspecialchars(fgets($smtpConnection, 1024)) . "
"; - - fputs($smtpConnection, "QUIT\n"); - echo htmlspecialchars(fgets($smtpConnection, 1024)) . "
"; + fputs($smtpConnection, "Subject: $subject\n"); // Subject + fputs($smtpConnection, "From: <$from>\n"); // Subject + fputs($smtpConnection, "To: <$to_list>\n"); // Who it's TO + if ($cc_list) { + fputs($smtpConnection, "Cc: <$cc_list>\n"); // Who the CCs are + } + fputs($smtpConnection, "X-Mailer: SquirrelMail (version $version)\n"); // Identify SquirrelMail + fputs($smtpConnection, "Reply-To: $from\n"); + fputs($smtpConnection, "MIME-Version: 1.0\n"); + fputs($smtpConnection, "Content-Type: text\n"); + + fputs($smtpConnection, "$body\n"); // send the body of the message + fputs($smtpConnection, ".\n"); // end the DATA part + fputs($smtpConnection, "QUIT\n"); // log off + echo "
"; } ?> \ No newline at end of file