X-Git-Url: https://vcs.fsf.org/?p=squirrelmail.git;a=blobdiff_plain;f=functions%2Fsmtp.php;h=153f15e530699a5ff52e6342cd8b90ba5d6de68e;hp=f171693e89946090aa665bfc96a7e032b241916f;hb=056d0da203c7b9ff86261d6869324a9c6e399e29;hpb=4f601b14a6795da2ab15189029a6a7227b41c3c8
diff --git a/functions/smtp.php b/functions/smtp.php
index f171693e..153f15e5 100644
--- a/functions/smtp.php
+++ b/functions/smtp.php
@@ -11,7 +11,8 @@
return;
define('smtp_php', true);
- include('../functions/addressbook.php');
+ require_once('../functions/addressbook.php');
+ require_once('../functions/plugin.php');
global $username, $popuser, $domain;
@@ -337,9 +338,13 @@
$envelopefrom = ereg_replace("[[:space:]]",'', $envelopefrom);
$envelopefrom = ereg_replace("[[:cntrl:]]",'', $envelopefrom);
- // open pipe to sendmail
- $fp = popen (escapeshellcmd("$sendmail_path -t -f$envelopefrom"), 'w');
-
+ // open pipe to sendmail or qmail-inject (qmail-inject doesn't accept -t param)
+ if (strstr($sendmail_path, "qmail-inject")) {
+ $fp = popen (escapeshellcmd("$sendmail_path -f$envelopefrom"), "w");
+ } else {
+ $fp = popen (escapeshellcmd("$sendmail_path -t -f$envelopefrom"), "w");
+ }
+
$headerlength = write822Header ($fp, $t, $c, $b, $subject, $more_headers);
$bodylength = writeBody($fp, $body);
@@ -447,7 +452,7 @@
if ($num != 250) {
$tmp = nl2br(htmlspecialchars($tmp));
displayPageHeader($color, 'None');
- include ("../functions/display_messages.php");
+ include_once('../functions/display_messages.php');
$msg = "Message not sent!
\nReason given: $tmp";
plain_error_message($msg, $color);
return(0);
@@ -553,9 +558,9 @@
}
if ($status == 0) {
- include '../functions/page_header.php';
+ include_once('../functions/page_header.php');
displayPageHeader($color, 'None');
- include ("../functions/display_messages.php");
+ include_once('../functions/display_messages.php');
$lines = nl2br(htmlspecialchars($lines));
$msg = $message . "
\nServer replied: $lines";
plain_error_message($msg, $color);
@@ -567,8 +572,12 @@
function sendMessage($t, $c, $b, $subject, $body, $reply_id, $prio = 3) {
global $useSendmail, $msg_id, $is_reply, $mailbox, $onetimepad;
global $data_dir, $username, $domain, $key, $version, $sent_folder, $imapServerAddress, $imapPort;
+ global $default_use_priority;
+ global $more_headers;
$more_headers = Array();
+ do_hook("smtp_send");
+
$imap_stream = sqimap_login($username, $key, $imapServerAddress, $imapPort, 1);
if (isset($reply_id) && $reply_id) {
@@ -585,7 +594,9 @@
$more_headers['References'] = $hdr->message_id;
}
}
- $more_headers = array_merge($more_headers, createPriorityHeaders($prio));
+ if ($default_use_priority) {
+ $more_headers = array_merge($more_headers, createPriorityHeaders($prio));
+ }
// In order to remove the problem of users not able to create
// messages with "." on a blank line, RFC821 has made provision
@@ -618,25 +629,25 @@
return $length;
}
-
+
function createPriorityHeaders($prio) {
- $prio_headers = Array();
- $prio_headers["X-Priority"] = $prio;
-
- switch($prio) {
- case 1: $prio_headers["Importance"] = "High";
- $prio_headers["X-MSMail-Priority"] = "High";
- break;
-
- case 3: $prio_headers["Importance"] = "Normal";
- $prio_headers["X-MSMail-Priority"] = "Normal";
- break;
-
- case 5:
- $prio_headers["Importance"] = "Low";
- $prio_headers["X-MSMail-Priority"] = "Low";
- break;
- }
- return $prio_headers;
+ $prio_headers = Array();
+ $prio_headers["X-Priority"] = $prio;
+
+ switch($prio) {
+ case 1: $prio_headers["Importance"] = "High";
+ $prio_headers["X-MSMail-Priority"] = "High";
+ break;
+
+ case 3: $prio_headers["Importance"] = "Normal";
+ $prio_headers["X-MSMail-Priority"] = "Normal";
+ break;
+
+ case 5:
+ $prio_headers["Importance"] = "Low";
+ $prio_headers["X-MSMail-Priority"] = "Low";
+ break;
+ }
+ return $prio_headers;
}
?>