From c99c5b31ea7ce697fb71dfbfa2b4bb449e53260f Mon Sep 17 00:00:00 2001 From: gustavf Date: Wed, 26 Jan 2000 09:51:09 +0000 Subject: [PATCH] Moved creation of headers into write822Header and some code clean up. git-svn-id: https://svn.code.sf.net/p/squirrelmail/code/trunk/squirrelmail@182 7612ce4b-ef26-0410-bec9-ea0150e637f0 --- config/config.php | 4 +-- functions/smtp.php | 64 +++++++++++++++++++------------------------- src/compose_send.php | 2 +- 3 files changed, 31 insertions(+), 39 deletions(-) diff --git a/config/config.php b/config/config.php index 881c59f4..0a1d1d86 100644 --- a/config/config.php +++ b/config/config.php @@ -10,14 +10,14 @@ $org_title = "SquirrelMail $version"; // The server that your imap server is on - $imapServerAddress = "adam"; + $imapServerAddress = "localhost"; $imapPort = 143; // The domain where your email address is. // Example: in "luke@usa.om.org", usa.om.org is the domain. // this is for all the messages sent out. Reply address // is generated by $username@$domain - $domain = "usa.om.org"; + $domain = "initio.no"; // Your SMTP server and port number (usually the same as the IMAP server) $smtpServerAddress = "localhost"; diff --git a/functions/smtp.php b/functions/smtp.php index fbe4f707..9ca00918 100644 --- a/functions/smtp.php +++ b/functions/smtp.php @@ -5,22 +5,21 @@ ** an smtp server or sendmail. **/ - function sendMessage($t, $c, $b, $subject, $body, $version) { + function sendMessage($t, $c, $b, $subject, $body) { global $useSendmail; if ($useSendmail==true) { - sendSendmail($t, $c, $b, $subject, $body, $version); + sendSendmail($t, $c, $b, $subject, $body); } else { - sendSMTP($t, $c, $b, $subject, $body, $version); + sendSMTP($t, $c, $b, $subject, $body); } } - // Send mail using the sendmail command - function sendSendmail($t, $c, $b, $subject, $body, $version) { - global $username, $domain, $data_dir, $sendmail_path; + function write822Header ($fp, $t, $c, $b, $subject) { + global $REMOTE_ADDR, $SERVER_NAME; + global $data_dir, $username, $domain, $version; - // This is pretty much equal to the code in sendSMTP $to = parseAddrs($t); $cc = parseAddrs($c); $bcc = parseAddrs($b); @@ -37,12 +36,16 @@ else $from = $from . " <$from_addr>"; - // open pipe to sendmail - $fp = popen ("$sendmail_path -t -f$from_addr", "w"); - - fputs($fp, "Subject: $subject\n"); // Subject - fputs($fp, "From: $from\n"); // Subject - fputs($fp, "To: $to_list\n"); // Who it's TO + $date = date("D, j M Y H:i:s +0000", gmmktime()); + + /* Make a RFC822 Received: line */ + fputs ($fp, "Received: from $REMOTE_ADDR by $SERVER_NAME with HTTP; "); + fputs ($fp, "$date\n"); + + fputs ($fp, "Date: $date\n"); + fputs ($fp, "Subject: $subject\n"); // Subject + fputs ($fp, "From: $from\n"); // Subject + fputs ($fp, "To: $to_list\n"); // Who it's TO if ($cc_list) { fputs($fp, "Cc: $cc_list\n"); // Who the CCs are @@ -55,7 +58,16 @@ fputs($fp, "Content-Type: text/plain\n"); if ($reply_to != "") fputs($fp, "Reply-To: $reply_to\n"); + } + // Send mail using the sendmail command + function sendSendmail($t, $c, $b, $subject, $body) { + global $sendmail_path, $username, $domain; + + // open pipe to sendmail + $fp = popen ("$sendmail_path -t -f$username@$domain", "w"); + + write822Header ($fp, $t, $c, $b, $subject); fputs($fp, "\n$body\n"); // send the body of the message pclose($fp); @@ -72,22 +84,13 @@ } } - function sendSMTP($t, $c, $b, $subject, $body, $version) { - global $username, $domain; - - include("../config/config.php"); + function sendSMTP($t, $c, $b, $subject, $body) { + global $username, $domain, $version, $smtpServerAddress, $smtpPort; $to = parseAddrs($t); $cc = parseAddrs($c); $bcc = parseAddrs($b); $from_addr = "$username@$domain"; - $reply_to = getPref($data_dir, $username, "reply_to"); - $from = getPref($data_dir, $username, "full_name"); - - if ($from == "") - $from = "<$from_addr>"; - else - $from = $from . " <$from_addr>"; $smtpConnection = fsockopen($smtpServerAddress, $smtpPort, $errorNumber, $errorString); if (!$smtpConnection) { @@ -133,18 +136,7 @@ $tmp = nl2br(htmlspecialchars(fgets($smtpConnection, 1024))); errorCheck($tmp); - 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, "MIME-Version: 1.0\n"); - fputs($smtpConnection, "Content-Type: text/plain\n"); - if ($reply_to != "") - fputs($smtpConnection, "Reply-To: $reply_to\n"); + write822Header ($smtpConnection, $t, $c, $b, $subject); fputs($smtpConnection, "$body\n"); // send the body of the message diff --git a/src/compose_send.php b/src/compose_send.php index 50bd68b4..6f3e20e5 100644 --- a/src/compose_send.php +++ b/src/compose_send.php @@ -52,7 +52,7 @@ $passed_bcc = stripslashes($passed_bcc); $passed_subject = stripslashes($passed_subject); - sendMessage($passed_to, $passed_cc, $passed_bcc, $passed_subject, $passed_body, $version); + sendMessage($passed_to, $passed_cc, $passed_bcc, $passed_subject, $passed_body); if ($auto_forward == true) echo ""; -- 2.25.1