diff --git a/program/include/rcube_imap.php b/program/include/rcube_imap.php index 3aa2132fc..c5b10e626 100644 --- a/program/include/rcube_imap.php +++ b/program/include/rcube_imap.php @@ -2239,11 +2239,8 @@ class rcube_imap // make sure mailbox exists if ($this->mailbox_exists($mbox_name, true)) { - if ($is_file) { - $separator = rcmail::get_instance()->config->header_delimiter(); - $saved = $this->conn->appendFromFile($mailbox, $message, - $headers, $separator.$separator); - } + if ($is_file) + $saved = $this->conn->appendFromFile($mailbox, $message, $headers); else $saved = $this->conn->append($mailbox, $message); } diff --git a/program/include/rcube_imap_generic.php b/program/include/rcube_imap_generic.php index de57671d4..6cf86fc24 100644 --- a/program/include/rcube_imap_generic.php +++ b/program/include/rcube_imap_generic.php @@ -1996,7 +1996,7 @@ class rcube_imap_generic return false; } - function appendFromFile($folder, $path, $headers=null, $separator="\n\n") + function appendFromFile($folder, $path, $headers=null) { if (!$folder) { return false; @@ -2012,14 +2012,16 @@ class rcube_imap_generic return false; } + $body_separator = "\r\n\r\n"; $len = filesize($path); + if (!$len) { return false; } if ($headers) { $headers = preg_replace('/[\r\n]+$/', '', $headers); - $len += strlen($headers) + strlen($separator); + $len += strlen($headers) + strlen($body_separator); } // send APPEND command @@ -2035,7 +2037,7 @@ class rcube_imap_generic // send headers with body separator if ($headers) { - $this->putLine($headers . $separator, false); + $this->putLine($headers . $body_separator, false); } // send file