* Calendar/Mail: fix edit action meeting-requests to NOT set content-disposition: attachment, as this seems to stop automatic processing in Exchange

This commit is contained in:
Ralf Becker 2015-10-05 13:15:17 +00:00
parent 7c5ab68b46
commit 816c9c0a96

View File

@ -338,7 +338,6 @@ class egw_mailer extends Horde_Mime_Mail
$part->setContentTypeParameter($matches[2], $matches[3]); $part->setContentTypeParameter($matches[2], $matches[3]);
} }
$part->setContents($resource); $part->setContents($resource);
if ($name || !is_resource($data)) $part->setName($name ? $name : egw_vfs::basename($data));
// store "text/calendar" as _htmlBody, to trigger "multipart/alternative" // store "text/calendar" as _htmlBody, to trigger "multipart/alternative"
if (stripos($type,"text/calendar; method=") !== false) if (stripos($type,"text/calendar; method=") !== false)
@ -346,6 +345,9 @@ class egw_mailer extends Horde_Mime_Mail
$this->_htmlBody = $part; $this->_htmlBody = $part;
return; return;
} }
// setting name, also sets content-disposition attachment (!), therefore we have to do it after "text/calendar; method=" handling
if ($name || !is_resource($data)) $part->setName($name ? $name : egw_vfs::basename($data));
// this should not be necessary, because binary data get detected by mime-type, // this should not be necessary, because binary data get detected by mime-type,
// but at least Cyrus complains about NUL characters // but at least Cyrus complains about NUL characters
$part->setTransferEncoding('base64', array('send' => true)); $part->setTransferEncoding('base64', array('send' => true));