http://pear.php.net/dtd/tasks-1.0.xsd
http://pear.php.net/dtd/package-2.0
http://pear.php.net/dtd/package-2.0.xsd">
- <name>Horde_MIME</name>
+ <name>Mime</name>
<channel>pear.horde.org</channel>
- <summary>Horde Mime Library</summary>
- <description>The Horde_MIME:: class provides methods for dealing with MIME (RFC 2045) and related e-mail (RFC 822/2822/5322) standards.
+ <summary>Horde MIME Library</summary>
+ <description>The Horde_Mime:: class provides methods for dealing with MIME (RFC 2045) and related e-mail (RFC 822/2822/5322) standards.
</description>
<lead>
<name>Chuck Hagenbuch</name>
<dir name="/">
<dir name="lib">
<dir name="Horde">
- <dir name="MIME">
+ <dir name="Mime">
<dir name="Viewer">
<dir name="ooo">
<file name="common.xsl" role="php" />
<file name="table_cells.xsl" role="php" />
<file name="table_columns.xsl" role="php" />
<file name="table_rows.xsl" role="php" />
- </dir> <!-- /lib/Horde/MIME/Viewer/ooo -->
+ </dir> <!-- /lib/Horde/Mime/Viewer/ooo -->
<file name="Driver.php" role="php" />
<file name="audio.php" role="php" />
<file name="css.php" role="php" />
<file name="webcpp.php" role="php" />
<file name="wordperfect.php" role="php" />
<file name="zip.php" role="php" />
- </dir> <!-- /lib/Horde/MIME/Viewer -->
+ </dir> <!-- /lib/Horde/Mime/Viewer -->
<file name="Address.php" role="php" />
<file name="Headers.php" role="php" />
<file name="Magic.php" role="php" />
<file name="Viewer.php" role="php" />
<file name="mime.magic.php" role="php" />
<file name="mime.mapping.php" role="php" />
- </dir> <!-- /lib/Horde/MIME -->
- <file name="MIME.php" role="php" />
+ </dir> <!-- /lib/Horde/Mime -->
+ <file name="Mime.php" role="php" />
</dir> <!-- /lib/Horde -->
</dir> <!-- /lib -->
<dir name="tests">
</dependencies>
<phprelease>
<filelist>
- <install name="lib/Horde/MIME/Viewer/ooo/common.xsl" as="Horde/MIME/Viewer/ooo/common.xsl" />
- <install name="lib/Horde/MIME/Viewer/ooo/global_document.xsl" as="Horde/MIME/Viewer/ooo/global_document.xsl" />
- <install name="lib/Horde/MIME/Viewer/ooo/main_html.xsl" as="Horde/MIME/Viewer/ooo/main_html.xsl" />
- <install name="lib/Horde/MIME/Viewer/ooo/palm.xsl" as="Horde/MIME/Viewer/ooo/palm.xsl" />
- <install name="lib/Horde/MIME/Viewer/ooo/style_header.xsl" as="Horde/MIME/Viewer/ooo/style_header.xsl" />
- <install name="lib/Horde/MIME/Viewer/ooo/style_inlined.xsl" as="Horde/MIME/Viewer/ooo/style_inlined.xsl" />
- <install name="lib/Horde/MIME/Viewer/ooo/style_mapping.xsl" as="Horde/MIME/Viewer/ooo/style_mapping.xsl" />
- <install name="lib/Horde/MIME/Viewer/ooo/table.xsl" as="Horde/MIME/Viewer/ooo/table.xsl" />
- <install name="lib/Horde/MIME/Viewer/ooo/table_cells.xsl" as="Horde/MIME/Viewer/ooo/table_cells.xsl" />
- <install name="lib/Horde/MIME/Viewer/ooo/table_columns.xsl" as="Horde/MIME/Viewer/ooo/table_columns.xsl" />
- <install name="lib/Horde/MIME/Viewer/ooo/table_rows.xsl" as="Horde/MIME/Viewer/ooo/table_rows.xsl" />
- <install name="lib/Horde/MIME/Viewer/Driver.php" as="Horde/MIME/Viewer/Driver.php" />
- <install name="lib/Horde/MIME/Viewer/audio.php" as="Horde/MIME/Viewer/audio.php" />
- <install name="lib/Horde/MIME/Viewer/css.php" as="Horde/MIME/Viewer/css.php" />
- <install name="lib/Horde/MIME/Viewer/deb.php" as="Horde/MIME/Viewer/deb.php" />
- <install name="lib/Horde/MIME/Viewer/default.php" as="Horde/MIME/Viewer/default.php" />
- <install name="lib/Horde/MIME/Viewer/enriched.php" as="Horde/MIME/Viewer/enriched.php" />
- <install name="lib/Horde/MIME/Viewer/enscript.php" as="Horde/MIME/Viewer/enscript.php" />
- <install name="lib/Horde/MIME/Viewer/html.php" as="Horde/MIME/Viewer/html.php" />
- <install name="lib/Horde/MIME/Viewer/images.php" as="Horde/MIME/Viewer/images.php" />
- <install name="lib/Horde/MIME/Viewer/msexcel.php" as="Horde/MIME/Viewer/msexcel.php" />
- <install name="lib/Horde/MIME/Viewer/mspowerpoint.php" as="Horde/MIME/Viewer/mspowerpoint.php" />
- <install name="lib/Horde/MIME/Viewer/msword.php" as="Horde/MIME/Viewer/msword.php" />
- <install name="lib/Horde/MIME/Viewer/ooo.php" as="Horde/MIME/Viewer/ooo.php" />
- <install name="lib/Horde/MIME/Viewer/pdf.php" as="Horde/MIME/Viewer/pdf.php" />
- <install name="lib/Horde/MIME/Viewer/php.php" as="Horde/MIME/Viewer/php.php" />
- <install name="lib/Horde/MIME/Viewer/plain.php" as="Horde/MIME/Viewer/plain.php" />
- <install name="lib/Horde/MIME/Viewer/rar.php" as="Horde/MIME/Viewer/rar.php" />
- <install name="lib/Horde/MIME/Viewer/report.php" as="Horde/MIME/Viewer/report.php" />
- <install name="lib/Horde/MIME/Viewer/rfc822.php" as="Horde/MIME/Viewer/rfc822.php" />
- <install name="lib/Horde/MIME/Viewer/richtext.php" as="Horde/MIME/Viewer/richtext.php" />
- <install name="lib/Horde/MIME/Viewer/rpm.php" as="Horde/MIME/Viewer/rpm.php" />
- <install name="lib/Horde/MIME/Viewer/rtf.php" as="Horde/MIME/Viewer/rtf.php" />
- <install name="lib/Horde/MIME/Viewer/security.php" as="Horde/MIME/Viewer/security.php" />
- <install name="lib/Horde/MIME/Viewer/simple.php" as="Horde/MIME/Viewer/simple.php" />
- <install name="lib/Horde/MIME/Viewer/smil.php" as="Horde/MIME/Viewer/smil.php" />
- <install name="lib/Horde/MIME/Viewer/source.php" as="Horde/MIME/Viewer/source.php" />
- <install name="lib/Horde/MIME/Viewer/srchighlite.php" as="Horde/MIME/Viewer/srchighlite.php" />
- <install name="lib/Horde/MIME/Viewer/tgz.php" as="Horde/MIME/Viewer/tgz.php" />
- <install name="lib/Horde/MIME/Viewer/tnef.php" as="Horde/MIME/Viewer/tnef.php" />
- <install name="lib/Horde/MIME/Viewer/vcard.php" as="Horde/MIME/Viewer/vcard.php" />
- <install name="lib/Horde/MIME/Viewer/webcpp.php" as="Horde/MIME/Viewer/webcpp.php" />
- <install name="lib/Horde/MIME/Viewer/wordperfect.php" as="Horde/MIME/Viewer/wordperfect.php" />
- <install name="lib/Horde/MIME/Viewer/zip.php" as="Horde/MIME/Viewer/zip.php" />
- <install name="lib/Horde/MIME/Address.php" as="Horde/MIME/Address.php" />
- <install name="lib/Horde/MIME/Headers.php" as="Horde/MIME/Headers.php" />
- <install name="lib/Horde/MIME/MDN.php" as="Horde/MIME/MDN.php" />
- <install name="lib/Horde/MIME/Magic.php" as="Horde/MIME/Magic.php" />
- <install name="lib/Horde/MIME/Mail.php" as="Horde/MIME/Mail.php" />
- <install name="lib/Horde/MIME/Message.php" as="Horde/MIME/Message.php" />
- <install name="lib/Horde/MIME/Part.php" as="Horde/MIME/Part.php" />
- <install name="lib/Horde/MIME/Viewer.php" as="Horde/MIME/Viewer.php" />
- <install name="lib/Horde/MIME/mime.magic.php" as="Horde/MIME/mime.magic.php" />
- <install name="lib/Horde/MIME/mime.mapping.php" as="Horde/MIME/mime.mapping.php" />
- <install name="lib/Horde/MIME.php" as="Horde/MIME.php" />
+ <install name="lib/Horde/Mime/Viewer/ooo/common.xsl" as="Horde/Mime/Viewer/ooo/common.xsl" />
+ <install name="lib/Horde/Mime/Viewer/ooo/global_document.xsl" as="Horde/Mime/Viewer/ooo/global_document.xsl" />
+ <install name="lib/Horde/Mime/Viewer/ooo/main_html.xsl" as="Horde/Mime/Viewer/ooo/main_html.xsl" />
+ <install name="lib/Horde/Mime/Viewer/ooo/palm.xsl" as="Horde/Mime/Viewer/ooo/palm.xsl" />
+ <install name="lib/Horde/Mime/Viewer/ooo/style_header.xsl" as="Horde/Mime/Viewer/ooo/style_header.xsl" />
+ <install name="lib/Horde/Mime/Viewer/ooo/style_inlined.xsl" as="Horde/Mime/Viewer/ooo/style_inlined.xsl" />
+ <install name="lib/Horde/Mime/Viewer/ooo/style_mapping.xsl" as="Horde/Mime/Viewer/ooo/style_mapping.xsl" />
+ <install name="lib/Horde/Mime/Viewer/ooo/table.xsl" as="Horde/Mime/Viewer/ooo/table.xsl" />
+ <install name="lib/Horde/Mime/Viewer/ooo/table_cells.xsl" as="Horde/Mime/Viewer/ooo/table_cells.xsl" />
+ <install name="lib/Horde/Mime/Viewer/ooo/table_columns.xsl" as="Horde/Mime/Viewer/ooo/table_columns.xsl" />
+ <install name="lib/Horde/Mime/Viewer/ooo/table_rows.xsl" as="Horde/Mime/Viewer/ooo/table_rows.xsl" />
+ <install name="lib/Horde/Mime/Viewer/Driver.php" as="Horde/Mime/Viewer/Driver.php" />
+ <install name="lib/Horde/Mime/Viewer/audio.php" as="Horde/Mime/Viewer/audio.php" />
+ <install name="lib/Horde/Mime/Viewer/css.php" as="Horde/Mime/Viewer/css.php" />
+ <install name="lib/Horde/Mime/Viewer/deb.php" as="Horde/Mime/Viewer/deb.php" />
+ <install name="lib/Horde/Mime/Viewer/default.php" as="Horde/Mime/Viewer/default.php" />
+ <install name="lib/Horde/Mime/Viewer/enriched.php" as="Horde/Mime/Viewer/enriched.php" />
+ <install name="lib/Horde/Mime/Viewer/enscript.php" as="Horde/Mime/Viewer/enscript.php" />
+ <install name="lib/Horde/Mime/Viewer/html.php" as="Horde/Mime/Viewer/html.php" />
+ <install name="lib/Horde/Mime/Viewer/images.php" as="Horde/Mime/Viewer/images.php" />
+ <install name="lib/Horde/Mime/Viewer/msexcel.php" as="Horde/Mime/Viewer/msexcel.php" />
+ <install name="lib/Horde/Mime/Viewer/mspowerpoint.php" as="Horde/Mime/Viewer/mspowerpoint.php" />
+ <install name="lib/Horde/Mime/Viewer/msword.php" as="Horde/Mime/Viewer/msword.php" />
+ <install name="lib/Horde/Mime/Viewer/ooo.php" as="Horde/Mime/Viewer/ooo.php" />
+ <install name="lib/Horde/Mime/Viewer/pdf.php" as="Horde/Mime/Viewer/pdf.php" />
+ <install name="lib/Horde/Mime/Viewer/php.php" as="Horde/Mime/Viewer/php.php" />
+ <install name="lib/Horde/Mime/Viewer/plain.php" as="Horde/Mime/Viewer/plain.php" />
+ <install name="lib/Horde/Mime/Viewer/rar.php" as="Horde/Mime/Viewer/rar.php" />
+ <install name="lib/Horde/Mime/Viewer/report.php" as="Horde/Mime/Viewer/report.php" />
+ <install name="lib/Horde/Mime/Viewer/rfc822.php" as="Horde/Mime/Viewer/rfc822.php" />
+ <install name="lib/Horde/Mime/Viewer/richtext.php" as="Horde/Mime/Viewer/richtext.php" />
+ <install name="lib/Horde/Mime/Viewer/rpm.php" as="Horde/Mime/Viewer/rpm.php" />
+ <install name="lib/Horde/Mime/Viewer/rtf.php" as="Horde/Mime/Viewer/rtf.php" />
+ <install name="lib/Horde/Mime/Viewer/security.php" as="Horde/Mime/Viewer/security.php" />
+ <install name="lib/Horde/Mime/Viewer/simple.php" as="Horde/Mime/Viewer/simple.php" />
+ <install name="lib/Horde/Mime/Viewer/smil.php" as="Horde/Mime/Viewer/smil.php" />
+ <install name="lib/Horde/Mime/Viewer/source.php" as="Horde/Mime/Viewer/source.php" />
+ <install name="lib/Horde/Mime/Viewer/srchighlite.php" as="Horde/Mime/Viewer/srchighlite.php" />
+ <install name="lib/Horde/Mime/Viewer/tgz.php" as="Horde/Mime/Viewer/tgz.php" />
+ <install name="lib/Horde/Mime/Viewer/tnef.php" as="Horde/Mime/Viewer/tnef.php" />
+ <install name="lib/Horde/Mime/Viewer/vcard.php" as="Horde/Mime/Viewer/vcard.php" />
+ <install name="lib/Horde/Mime/Viewer/webcpp.php" as="Horde/Mime/Viewer/webcpp.php" />
+ <install name="lib/Horde/Mime/Viewer/wordperfect.php" as="Horde/Mime/Viewer/wordperfect.php" />
+ <install name="lib/Horde/Mime/Viewer/zip.php" as="Horde/Mime/Viewer/zip.php" />
+ <install name="lib/Horde/Mime/Address.php" as="Horde/Mime/Address.php" />
+ <install name="lib/Horde/Mime/Headers.php" as="Horde/Mime/Headers.php" />
+ <install name="lib/Horde/Mime/MDN.php" as="Horde/Mime/MDN.php" />
+ <install name="lib/Horde/Mime/Magic.php" as="Horde/Mime/Magic.php" />
+ <install name="lib/Horde/Mime/Mail.php" as="Horde/Mime/Mail.php" />
+ <install name="lib/Horde/Mime/Message.php" as="Horde/Mime/Message.php" />
+ <install name="lib/Horde/Mime/Part.php" as="Horde/Mime/Part.php" />
+ <install name="lib/Horde/Mime/Viewer.php" as="Horde/Mime/Viewer.php" />
+ <install name="lib/Horde/Mime/mime.magic.php" as="Horde/Mime/mime.magic.php" />
+ <install name="lib/Horde/Mime/mime.mapping.php" as="Horde/Mime/mime.mapping.php" />
+ <install name="lib/Horde/Mime.php" as="Horde/Mime.php" />
</filelist>
</phprelease>
</package>
+++ /dev/null
-Zwölf Boxkämpfer jagen Viktor quer über den großen Sylter Deich.
+++ /dev/null
---TEST--
-Bug #338 (fileinfo returning charset)
---SKIPIF--
-<?php if (!extension_loaded('fileinfo')) echo 'skip'; ?>
---FILE--
-<?php
-require_once 'Horde/Util.php';
-require dirname(__FILE__) . '/../lib/Horde/MIME/Magic.php';
-echo MIME_Magic::analyzeFile(dirname(__FILE__) . '/bug_325.txt');
-?>
---EXPECT--
-text/plain
+++ /dev/null
-Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
-tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
-quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
-consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
-cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
-proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+++ /dev/null
---TEST--
-Bug #4834 Wrong encoding of email lists with groups.
---FILE--
-<?php
-
-require dirname(__FILE__) . '/../lib/Horde/MIME.php';
-echo MIME::encodeAddress('"John Doe" <john@example.com>, Group: peter@example.com, jane@example.com;');
-
-?>
---EXPECT--
-John Doe <john@example.com>, Group: peter@example.com, jane@example.com;
+++ /dev/null
---TEST--
-Bug #6896 MIME::rfc822Explode parsing broken
---FILE--
-<?php
-
-require dirname(__FILE__) . '/../MIME.php';
-var_dump(MIME::rfc822Explode('addr1@example.com, addr2@example.com'));
-
-?>
---EXPECT--
-array(2) {
- [0]=>
- string(17) "addr1@example.com"
- [1]=>
- string(18) " addr2@example.com"
-}
+++ /dev/null
---TEST--
-MIME_Contents tests.
---FILE--
-<?php
-
-require dirname(__FILE__) . '/../MIME/Contents.php';
-
-$_SERVER['SERVER_NAME'] = 'mail.example.com';
-$message = MIME_Structure::parseTextMIMEMessage(
- file_get_contents(dirname(__FILE__) . '/contents1.eml'));
-$contents = new MIME_Contents($message);
-
-var_export($contents->getDownloadAllList());
-echo "\n";
-var_export($contents->getAttachmentContents());
-
-?>
---EXPECT--
-array (
- 0 => '2.0',
-)
-array (
- 0 =>
- array (
- 'name' => 'Weitergeleitete Nachricht: Small message',
- 'data' => 'Return-Path: <jan@horde.org>
-Received: from neo.wg.de ([unix socket])
- by neo (Cyrus v2.2.13) with LMTPA;
- Tue, 11 Mar 2008 17:26:11 +0100
-X-Sieve: CMU Sieve 2.2
-Received: from localhost (localhost [127.0.0.1])
- by neo.wg.de (Postfix) with ESMTP id 142BF32B032
- for <jan@localhost.wg.de>; Tue, 11 Mar 2008 17:26:11 +0100 (CET)
-Received: from neo.wg.de ([127.0.0.1])
- by localhost (neo.wg.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP
- id 02540-02 for <jan@localhost.wg.de>; Tue, 11 Mar 2008 17:26:02 +0100 (CET)
-Received: from localhost (localhost [127.0.0.1])
- by neo.wg.de (Postfix) with ESMTP id 21E2532B037
- for <jan@localhost>; Tue, 11 Mar 2008 17:26:02 +0100 (CET)
-Received: from 192.168.60.101 ([192.168.60.101]) by neo.wg.de (Horde
- Framework) with HTTP; Tue, 11 Mar 2008 17:26:02 +0100
-Message-ID: <20080311172602.12293hbhf6ddsza0@neo.wg.de>
-X-Priority: 3 (Normal)
-Date: Tue, 11 Mar 2008 17:26:02 +0100
-From: Jan Schneider <jan@horde.org>
-To: "jan@localhost" <jan@wg.de>
-Subject: Small message
-MIME-Version: 1.0
-Content-Type: text/plain;
- charset=ISO-8859-1;
- DelSp="Yes";
- format="flowed"
-Content-Disposition: inline
-Content-Transfer-Encoding: 7bit
-User-Agent: Internet Messaging Program (IMP) H3 (5.0-cvs)
-X-Virus-Scanned: amavisd-new at wg.de
-X-Spam-Status: No, score=-4.351 required=5 tests=[ALL_TRUSTED=-1.8, AWL=0.048,
- BAYES_00=-2.599]
-X-Spam-Score: -4.351
-X-Spam-Level:
-
-Small message text.
-
-
-',
- ),
-)
+++ /dev/null
---TEST--
-MIME_Mail constructor test
---FILE--
-<?php
-
-require dirname(__FILE__) . '/mail_dummy.inc';
-
-$mail = new MIME_Mail('My Subject', "This is\nthe body",
- 'recipient@example.com', 'sender@example.com',
- 'iso-8859-15');
-echo $mail->send('dummy');
-
-?>
---EXPECTF--
-Subject: My Subject
-To: recipient@example.com
-From: sender@example.com
-Message-ID: <%d.%s@mail.example.com>
-User-Agent: Horde Application Framework 3.2
-Date: %s, %d %s %d %d:%d:%d %s%d
-MIME-Version: 1.0
-Content-Type: text/plain;
- charset=iso-8859-15;
- DelSp="Yes";
- format="flowed"
-Content-Disposition: inline
-Content-Transfer-Encoding: 7bit
-
-This is
-the body
+++ /dev/null
---TEST--
-MIME_Mail methods test
---FILE--
-<?php
-
-require dirname(__FILE__) . '/mail_dummy.inc';
-
-$mail = new MIME_Mail();
-$mail->addHeader('Subject', 'My Subject');
-$mail->setBody("This is\nthe body", 'iso-8859-15');
-$mail->addHeader('To', 'recipient@example.com');
-$mail->addHeader('Cc', 'null@example.com');
-$mail->addHeader('Bcc', 'invisible@example.com');
-$mail->addHeader('From', 'sender@example.com');
-$mail->removeHeader('Cc');
-
-echo $mail->send('dummy');
-
-?>
---EXPECTF--
-Subject: My Subject
-To: recipient@example.com
-From: sender@example.com
-Message-ID: <%d.%s@mail.example.com>
-User-Agent: Horde Application Framework 3.2
-Date: %s, %d %s %d %d:%d:%d %s%d
-MIME-Version: 1.0
-Content-Type: text/plain;
- charset=iso-8859-15;
- DelSp="Yes";
- format="flowed"
-Content-Disposition: inline
-Content-Transfer-Encoding: 7bit
-
-This is
-the body
+++ /dev/null
---TEST--
-MIME_Mail encoding test
---FILE--
-<?php
-
-require dirname(__FILE__) . '/mail_dummy.inc';
-require 'Horde/NLS.php';
-
-$mail = new MIME_Mail('Schöner Betreff', "Hübsche Umlaute \n und Leerzeichen.",
- 'Empfänger <recipient@example.com>',
- 'sender@example.com', 'iso-8859-1');
-$mail->addHeader('Cc', 'Der schöne Peter <peter@example.com>', 'iso-8859-15');
-echo $mail->send('dummy');
-
-?>
---EXPECTF--
-Subject: =?iso-8859-1?b?U2No9m5lcg==?= Betreff
-To: =?iso-8859-1?b?RW1wZuRuZ2Vy?= <recipient@example.com>
-From: sender@example.com
-Cc: Der =?iso-8859-15?b?c2No9m5l?= Peter <peter@example.com>
-Message-ID: <%d.%s@mail.example.com>
-User-Agent: Horde Application Framework 3.2
-Date: %s, %d %s %d %d:%d:%d %s%d
-MIME-Version: 1.0
-Content-Type: text/plain;
- charset=iso-8859-1;
- DelSp="Yes";
- format="flowed"
-Content-Disposition: inline
-Content-Transfer-Encoding: quoted-printable
-
-H=FCbsche Umlaute
- und Leerzeichen.
+++ /dev/null
---TEST--
-MIME_Mail::addPart() test
---FILE--
-<?php
-
-require dirname(__FILE__) . '/mail_dummy.inc';
-
-$mail = new MIME_Mail('My Subject', "This is\nthe body",
- 'recipient@example.com', 'sender@example.com',
- 'iso-8859-15');
-$mail->addPart('text/plain', 'This is a plain text', 'iso-8859-1', 'inline');
-$mail->addPart('application/octet-stream',
- file_get_contents(dirname(__FILE__) . '/attachment.bin'),
- null, 'attachment');
-
-echo $mail->send('dummy');
-
-?>
---EXPECTF--
-Subject: My Subject
-To: recipient@example.com
-From: sender@example.com
-Message-ID: <%d.%s@mail.example.com>
-User-Agent: Horde Application Framework 3.2
-Date: %s, %d %s %d %d:%d:%d %s%d
-MIME-Version: 1.0
-Content-Type: multipart/mixed;
- boundary="=_%s"
-Content-Transfer-Encoding: 7bit
-
-This message is in MIME format.
-
---=_%s
-Content-Type: text/plain;
- charset=iso-8859-15;
- DelSp="Yes";
- format="flowed"
-Content-Disposition: inline
-Content-Transfer-Encoding: 7bit
-
-This is
-the body
-
---=_%s
-Content-Type: text/plain;
- charset=iso-8859-1
-Content-Disposition: inline
-Content-Transfer-Encoding: 7bit
-
-This is a plain text
---=_%s
-Content-Type: application/octet-stream
-Content-Disposition: attachment
-Content-Transfer-Encoding: base64
-
-WnfDtmxmIEJveGvDpG1wZmVyIGphZ2VuIFZpa3RvciBxdWVyIMO8YmVyIGRlbiBncm/Dn2VuIFN5
-bHRlciBEZWljaC4K
-
---=_%s--
+++ /dev/null
---TEST--
-MIME_Mail HTML test
---FILE--
-<?php
-
-require dirname(__FILE__) . '/mail_dummy.inc';
-
-$mail = new MIME_Mail('My Subject', null, 'recipient@example.com',
- 'sender@example.com');
-$mail->setBody("This is\nthe plain text body.");
-echo $mail->send('dummy');
-
-echo "====================================================================\n";
-
-$mail = new MIME_Mail('My Subject', null, 'recipient@example.com',
- 'sender@example.com');
-$mail->setHTMLBody("<h1>Header Title</h1>\n<p>This is<br />the html text body.</p>",
- 'iso-8859-1', false);
-echo $mail->send('dummy');
-
-echo "====================================================================\n";
-
-$mail = new MIME_Mail('My Subject', null, 'recipient@example.com',
- 'sender@example.com');
-$mail->setHTMLBody("<h1>Header Title</h1>\n<p>This is<br />the html text body.</p>");
-echo $mail->send('dummy');
-
-?>
---EXPECTF--
-Subject: My Subject
-To: recipient@example.com
-From: sender@example.com
-Message-ID: <%d.%s@mail.example.com>
-User-Agent: Horde Application Framework 3.2
-Date: %s, %d %s %d %d:%d:%d %s%d
-MIME-Version: 1.0
-Content-Type: text/plain;
- charset=iso-8859-1;
- DelSp="Yes";
- format="flowed"
-Content-Disposition: inline
-Content-Transfer-Encoding: 7bit
-
-This is
-the plain text body.
-====================================================================
-Subject: My Subject
-To: recipient@example.com
-From: sender@example.com
-Message-ID: <%d.%s@mail.example.com>
-User-Agent: Horde Application Framework 3.2
-Date: %s, %d %s %d %d:%d:%d %s%d
-MIME-Version: 1.0
-Content-Type: text/html;
- charset=iso-8859-1
-Content-Disposition: inline
-Content-Transfer-Encoding: 7bit
-
-<h1>Header Title</h1>
-<p>This is<br />the html text body.</p>
-====================================================================
-Subject: My Subject
-To: recipient@example.com
-From: sender@example.com
-Message-ID: <%d.%s@mail.example.com>
-User-Agent: Horde Application Framework 3.2
-Date: %s, %d %s %d %d:%d:%d %s%d
-MIME-Version: 1.0
-Content-Type: multipart/alternative;
- boundary="=_%s"
-Content-Transfer-Encoding: 7bit
-
-This message is in MIME format.
-
---=_%s
-Content-Type: text/plain;
- charset=iso-8859-1;
- DelSp="Yes";
- format="flowed"
-Content-Description: Plaintext Version of Message
-Content-Disposition: inline
-Content-Transfer-Encoding: 7bit
-
-
-
-HEADER TITLE
-
-This is
-the html text body.
-
---=_%s
-Content-Type: text/html;
- charset=iso-8859-1
-Content-Description: HTML Version of Message
-Content-Disposition: inline
-Content-Transfer-Encoding: 7bit
-
-<h1>Header Title</h1>
-<p>This is<br />the html text body.</p>
---=_%s--
+++ /dev/null
---TEST--
-MIME_Mail::addAttachment() test
---FILE--
-<?php
-
-require dirname(__FILE__) . '/mail_dummy.inc';
-
-$mail = new MIME_Mail('My Subject', "This is\nthe body",
- 'recipient@example.com', 'sender@example.com',
- 'iso-8859-15');
-$mail->addAttachment(dirname(__FILE__) . '/attachment.bin');
-$mail->addAttachment(dirname(__FILE__) . '/mail_dummy.inc', 'my_name.html', 'text/html', 'iso-8859-15');
-
-echo $mail->send('dummy');
-
-?>
---EXPECTF--
-Subject: My Subject
-To: recipient@example.com
-From: sender@example.com
-Message-ID: <%d.%s@mail.example.com>
-User-Agent: Horde Application Framework 3.2
-Date: %s, %d %s %d %d:%d:%d %s%d
-MIME-Version: 1.0
-Content-Type: multipart/mixed;
- boundary="=_%s"
-Content-Transfer-Encoding: 7bit
-
-This message is in MIME format.
-
---=_%s
-Content-Type: text/plain;
- charset=iso-8859-15;
- DelSp="Yes";
- format="flowed"
-Content-Disposition: inline
-Content-Transfer-Encoding: 7bit
-
-This is
-the body
-
---=_%s
-Content-Type: application/octet-stream;
- name="attachment.bin"
-Content-Disposition: attachment;
- filename="attachment.bin"
-Content-Transfer-Encoding: base64
-
-WnfDtmxmIEJveGvDpG1wZmVyIGphZ2VuIFZpa3RvciBxdWVyIMO8YmVyIGRlbiBncm/Dn2VuIFN5
-bHRlciBEZWljaC4K
-
---=_%s
-Content-Type: text/html;
- charset=iso-8859-15;
- name="my_name.html"
-Content-Disposition: attachment;
- filename="my_name.html"
-Content-Transfer-Encoding: 7bit
-
-<?php
-/**
- * @package Mail
- */
-
-require dirname(__FILE__) . '/../MIME/Mail.php';
-$_SERVER['SERVER_NAME'] = 'mail.example.com';
-
-class Mail_dummy extends Mail {
- function send($recipients, $headers, $body)
- {
- list(,$text_headers) = Mail::prepareHeaders($headers);
- return $text_headers . "\n\n" . $body;
- }
-}
-
---=_%s--
+++ /dev/null
---TEST--
-MIME_Mail reusing test
---FILE--
-<?php
-
-require dirname(__FILE__) . '/mail_dummy.inc';
-
-$mail = new MIME_Mail('My Subject', "This is\nthe body",
- 'recipient@example.com', 'sender@example.com',
- 'iso-8859-15');
-echo $mail->send('dummy');
-$id = $mail->_headers->getValue('message-id');
-
-echo "====================================================================\n";
-
-$mail->addHeader('To', 'Änderung <other@example.com>', 'utf-8');
-echo $mail->send('dummy');
-
-echo "====================================================================\n";
-
-var_dump($id != $mail->_headers->getValue('message-id'));
-
-?>
---EXPECTF--
-Subject: My Subject
-To: recipient@example.com
-From: sender@example.com
-Message-ID: <%d.%s@mail.example.com>
-User-Agent: Horde Application Framework 3.2
-Date: %s, %d %s %d %d:%d:%d %s%d
-MIME-Version: 1.0
-Content-Type: text/plain;
- charset=iso-8859-15;
- DelSp="Yes";
- format="flowed"
-Content-Disposition: inline
-Content-Transfer-Encoding: 7bit
-
-This is
-the body
-====================================================================
-Subject: My Subject
-From: sender@example.com
-Message-ID: <%d.%s@mail.example.com>
-User-Agent: Horde Application Framework 3.2
-Date: %s, %d %s %d %d:%d:%d %s%d
-MIME-Version: 1.0
-Content-Type: text/plain;
- charset=iso-8859-15;
- DelSp="Yes";
- format="flowed"
-Content-Disposition: inline
-Content-Transfer-Encoding: 7bit
-To: =?utf-8?b?w4RuZGVydW5n?= <other@example.com>
-
-This is
-the body
-
-====================================================================
-bool(true)
-
+++ /dev/null
---TEST--
-MIME_Mail flowed text test
---FILE--
-<?php
-
-require dirname(__FILE__) . '/mail_dummy.inc';
-
-$mail = new MIME_Mail();
-$mail->addHeader('Subject', 'My Subject');
-$mail->addHeader('To', 'recipient@example.com');
-$mail->setBody('Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
-consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
-cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.');
-
-echo $mail->send('dummy');
-
-?>
---EXPECTF--
-Subject: My Subject
-To: recipient@example.com
-Message-ID: <%d.%s@mail.example.com>
-User-Agent: Horde Application Framework 3.2
-Date: %s, %d %s %d %d:%d:%d %s%d
-MIME-Version: 1.0
-Content-Type: text/plain;
- charset=iso-8859-1;
- DelSp="Yes";
- format="flowed"
-Content-Disposition: inline
-Content-Transfer-Encoding: 7bit
-
-Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do
-eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad
-minim veniam, quis nostrud exercitation ullamco laboris nisi ut
-aliquip ex ea commodo
-consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
-cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat
-cupidatat non proident, sunt in culpa qui officia deserunt mollit anim
-id est laborum.
\ No newline at end of file
+++ /dev/null
-<?php
-/**
- * @package Mail
- */
-
-require dirname(__FILE__) . '/../MIME/Mail.php';
-$_SERVER['SERVER_NAME'] = 'mail.example.com';
-
-class Mail_dummy extends Mail {
- function send($recipients, $headers, $body)
- {
- list(,$text_headers) = Mail::prepareHeaders($headers);
- return $text_headers . "\n\n" . $body;
- }
-}
+++ /dev/null
---TEST--
-MIME_Viewer_html: URL dereferer tests
---FILE--
-<?php
-
-define('HORDE_BASE', dirname(__FILE__) . '/../../..');
-require_once dirname(__FILE__) . '/../MIME/Viewer.php';
-require_once dirname(__FILE__) . '/../MIME/Viewer/html.php';
-require_once 'Horde.php';
-
-class Registry {
- function get($param, $app = null)
- {
- if ($param == 'webroot' || $app == 'horde') {
- return '/horde';
- }
- die("Can't emulate Registry. \$param: $param, \$app: $app");
- }
-}
-
-class Browser {
- function isBrowser($agent)
- {
- return $agent == 'msie';
- }
-}
-
-$conf['server']['name'] = 'www.example.com';
-$conf['server']['port'] = 80;
-$conf['use_ssl'] = 0;
-$registry = new Registry();
-$browser = new Browser();
-$viewer = new MIME_Viewer_html($null);
-
-for ($i = 1; $i <= 7; $i++) {
- $data = file_get_contents(dirname(__FILE__) . '/url' . $i . '.html');
- echo $viewer->_cleanHTML($data);
-}
-
-?>
---EXPECT--
-<A href="http://www.example.com/horde/services/go.php?url=http%3A%2F%2F66.102.7.147%2F">link</A>
-<A href="http://www.example.com/horde/services/go.php?url=http%3A%2F%2F%2577%2577%2577%252E%2567%256F%256F%2567%256C%2565%252E%2563%256F%256D">link</A>
-<A href="http://www.example.com/horde/services/go.php?url=ht%3A%2F%2Fwww.google.com%2F">link</A>
-<A href="http://www.example.com/horde/services/go.php?url=http%3A%2F%2Fgoogle.com%2F">link</A>
-<A href="http://www.example.com/horde/services/go.php?url=http%3A%2F%2Fwww.google.com.%2F">link</A>
-<A href="http://www.example.com/horde/services/go.php?url=XSSCleaneddocument.location%3D%27http%3A%2F%2Fwww.google.com%2F%27">link</A>
-<A href="http://www.example.com/horde/services/go.php?url=http%3A%2F%2Fwww.gohttp%3A%2F%2Fwww.google.com%2Fogle.com%2F">link</A>
+++ /dev/null
-<A HREF=http://66.102.7.147/>link</A>
+++ /dev/null
-<A HREF=http://%77%77%77%2E%67%6F%6F%67%6C%65%2E%63%6F%6D>link</A>
+++ /dev/null
-<A HREF=ht://www.google.com/>link</A>
+++ /dev/null
-<A HREF=http://google.com/>link</A>
+++ /dev/null
-<A HREF=http://www.google.com./>link</A>
+++ /dev/null
-<A HREF="javascript:document.location='http://www.google.com/'">link</A>
+++ /dev/null
-<A HREF=http://www.gohttp://www.google.com/ogle.com/>link</A>
+++ /dev/null
---TEST--
-PHP source viewer
---FILE--
-<?php
-
-require_once 'Horde/MIME/Viewer.php';
-require_once 'Horde/MIME/Viewer/php.php';
-
-$viewer = new MIME_Viewer_php($null);
-
-ini_set('highlight.comment', 'comment');
-ini_set('highlight.default', 'default');
-ini_set('highlight.keyword', 'keyword');
-ini_set('highlight.string', 'string');
-ini_set('highlight.html', 'html');
-echo $viewer->lineNumber(str_replace('<?php ', '', highlight_string('<?php highlight_file(__FILE__);', true)));
-?>
---EXPECT--
-<ol class="code-listing striped">
-<li id="l1"><span class="default">highlight_file</span><span class="keyword">(</span><span class="default">__FILE__</span><span class="keyword">);</span></li>
-</ol>
\ No newline at end of file
--- /dev/null
+Zwölf Boxkämpfer jagen Viktor quer über den großen Sylter Deich.
--- /dev/null
+--TEST--
+Bug #338 (fileinfo returning charset)
+--SKIPIF--
+<?php if (!extension_loaded('fileinfo')) echo 'skip'; ?>
+--FILE--
+<?php
+require_once 'Horde/Util.php';
+require dirname(__FILE__) . '/../lib/Horde/MIME/Magic.php';
+echo MIME_Magic::analyzeFile(dirname(__FILE__) . '/bug_325.txt');
+?>
+--EXPECT--
+text/plain
--- /dev/null
+Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
+tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
+quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
+consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
+cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
+proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
--- /dev/null
+--TEST--
+Bug #4834 Wrong encoding of email lists with groups.
+--FILE--
+<?php
+
+require dirname(__FILE__) . '/../lib/Horde/MIME.php';
+echo MIME::encodeAddress('"John Doe" <john@example.com>, Group: peter@example.com, jane@example.com;');
+
+?>
+--EXPECT--
+John Doe <john@example.com>, Group: peter@example.com, jane@example.com;
--- /dev/null
+--TEST--
+Bug #6896 MIME::rfc822Explode parsing broken
+--FILE--
+<?php
+
+require dirname(__FILE__) . '/../MIME.php';
+var_dump(MIME::rfc822Explode('addr1@example.com, addr2@example.com'));
+
+?>
+--EXPECT--
+array(2) {
+ [0]=>
+ string(17) "addr1@example.com"
+ [1]=>
+ string(18) " addr2@example.com"
+}
--- /dev/null
+--TEST--
+MIME_Contents tests.
+--FILE--
+<?php
+
+require dirname(__FILE__) . '/../MIME/Contents.php';
+
+$_SERVER['SERVER_NAME'] = 'mail.example.com';
+$message = MIME_Structure::parseTextMIMEMessage(
+ file_get_contents(dirname(__FILE__) . '/contents1.eml'));
+$contents = new MIME_Contents($message);
+
+var_export($contents->getDownloadAllList());
+echo "\n";
+var_export($contents->getAttachmentContents());
+
+?>
+--EXPECT--
+array (
+ 0 => '2.0',
+)
+array (
+ 0 =>
+ array (
+ 'name' => 'Weitergeleitete Nachricht: Small message',
+ 'data' => 'Return-Path: <jan@horde.org>
+Received: from neo.wg.de ([unix socket])
+ by neo (Cyrus v2.2.13) with LMTPA;
+ Tue, 11 Mar 2008 17:26:11 +0100
+X-Sieve: CMU Sieve 2.2
+Received: from localhost (localhost [127.0.0.1])
+ by neo.wg.de (Postfix) with ESMTP id 142BF32B032
+ for <jan@localhost.wg.de>; Tue, 11 Mar 2008 17:26:11 +0100 (CET)
+Received: from neo.wg.de ([127.0.0.1])
+ by localhost (neo.wg.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP
+ id 02540-02 for <jan@localhost.wg.de>; Tue, 11 Mar 2008 17:26:02 +0100 (CET)
+Received: from localhost (localhost [127.0.0.1])
+ by neo.wg.de (Postfix) with ESMTP id 21E2532B037
+ for <jan@localhost>; Tue, 11 Mar 2008 17:26:02 +0100 (CET)
+Received: from 192.168.60.101 ([192.168.60.101]) by neo.wg.de (Horde
+ Framework) with HTTP; Tue, 11 Mar 2008 17:26:02 +0100
+Message-ID: <20080311172602.12293hbhf6ddsza0@neo.wg.de>
+X-Priority: 3 (Normal)
+Date: Tue, 11 Mar 2008 17:26:02 +0100
+From: Jan Schneider <jan@horde.org>
+To: "jan@localhost" <jan@wg.de>
+Subject: Small message
+MIME-Version: 1.0
+Content-Type: text/plain;
+ charset=ISO-8859-1;
+ DelSp="Yes";
+ format="flowed"
+Content-Disposition: inline
+Content-Transfer-Encoding: 7bit
+User-Agent: Internet Messaging Program (IMP) H3 (5.0-cvs)
+X-Virus-Scanned: amavisd-new at wg.de
+X-Spam-Status: No, score=-4.351 required=5 tests=[ALL_TRUSTED=-1.8, AWL=0.048,
+ BAYES_00=-2.599]
+X-Spam-Score: -4.351
+X-Spam-Level:
+
+Small message text.
+
+
+',
+ ),
+)
--- /dev/null
+--TEST--
+MIME_Mail constructor test
+--FILE--
+<?php
+
+require dirname(__FILE__) . '/mail_dummy.inc';
+
+$mail = new MIME_Mail('My Subject', "This is\nthe body",
+ 'recipient@example.com', 'sender@example.com',
+ 'iso-8859-15');
+echo $mail->send('dummy');
+
+?>
+--EXPECTF--
+Subject: My Subject
+To: recipient@example.com
+From: sender@example.com
+Message-ID: <%d.%s@mail.example.com>
+User-Agent: Horde Application Framework 3.2
+Date: %s, %d %s %d %d:%d:%d %s%d
+MIME-Version: 1.0
+Content-Type: text/plain;
+ charset=iso-8859-15;
+ DelSp="Yes";
+ format="flowed"
+Content-Disposition: inline
+Content-Transfer-Encoding: 7bit
+
+This is
+the body
--- /dev/null
+--TEST--
+MIME_Mail methods test
+--FILE--
+<?php
+
+require dirname(__FILE__) . '/mail_dummy.inc';
+
+$mail = new MIME_Mail();
+$mail->addHeader('Subject', 'My Subject');
+$mail->setBody("This is\nthe body", 'iso-8859-15');
+$mail->addHeader('To', 'recipient@example.com');
+$mail->addHeader('Cc', 'null@example.com');
+$mail->addHeader('Bcc', 'invisible@example.com');
+$mail->addHeader('From', 'sender@example.com');
+$mail->removeHeader('Cc');
+
+echo $mail->send('dummy');
+
+?>
+--EXPECTF--
+Subject: My Subject
+To: recipient@example.com
+From: sender@example.com
+Message-ID: <%d.%s@mail.example.com>
+User-Agent: Horde Application Framework 3.2
+Date: %s, %d %s %d %d:%d:%d %s%d
+MIME-Version: 1.0
+Content-Type: text/plain;
+ charset=iso-8859-15;
+ DelSp="Yes";
+ format="flowed"
+Content-Disposition: inline
+Content-Transfer-Encoding: 7bit
+
+This is
+the body
--- /dev/null
+--TEST--
+MIME_Mail encoding test
+--FILE--
+<?php
+
+require dirname(__FILE__) . '/mail_dummy.inc';
+require 'Horde/NLS.php';
+
+$mail = new MIME_Mail('Schöner Betreff', "Hübsche Umlaute \n und Leerzeichen.",
+ 'Empfänger <recipient@example.com>',
+ 'sender@example.com', 'iso-8859-1');
+$mail->addHeader('Cc', 'Der schöne Peter <peter@example.com>', 'iso-8859-15');
+echo $mail->send('dummy');
+
+?>
+--EXPECTF--
+Subject: =?iso-8859-1?b?U2No9m5lcg==?= Betreff
+To: =?iso-8859-1?b?RW1wZuRuZ2Vy?= <recipient@example.com>
+From: sender@example.com
+Cc: Der =?iso-8859-15?b?c2No9m5l?= Peter <peter@example.com>
+Message-ID: <%d.%s@mail.example.com>
+User-Agent: Horde Application Framework 3.2
+Date: %s, %d %s %d %d:%d:%d %s%d
+MIME-Version: 1.0
+Content-Type: text/plain;
+ charset=iso-8859-1;
+ DelSp="Yes";
+ format="flowed"
+Content-Disposition: inline
+Content-Transfer-Encoding: quoted-printable
+
+H=FCbsche Umlaute
+ und Leerzeichen.
--- /dev/null
+--TEST--
+MIME_Mail::addPart() test
+--FILE--
+<?php
+
+require dirname(__FILE__) . '/mail_dummy.inc';
+
+$mail = new MIME_Mail('My Subject', "This is\nthe body",
+ 'recipient@example.com', 'sender@example.com',
+ 'iso-8859-15');
+$mail->addPart('text/plain', 'This is a plain text', 'iso-8859-1', 'inline');
+$mail->addPart('application/octet-stream',
+ file_get_contents(dirname(__FILE__) . '/attachment.bin'),
+ null, 'attachment');
+
+echo $mail->send('dummy');
+
+?>
+--EXPECTF--
+Subject: My Subject
+To: recipient@example.com
+From: sender@example.com
+Message-ID: <%d.%s@mail.example.com>
+User-Agent: Horde Application Framework 3.2
+Date: %s, %d %s %d %d:%d:%d %s%d
+MIME-Version: 1.0
+Content-Type: multipart/mixed;
+ boundary="=_%s"
+Content-Transfer-Encoding: 7bit
+
+This message is in MIME format.
+
+--=_%s
+Content-Type: text/plain;
+ charset=iso-8859-15;
+ DelSp="Yes";
+ format="flowed"
+Content-Disposition: inline
+Content-Transfer-Encoding: 7bit
+
+This is
+the body
+
+--=_%s
+Content-Type: text/plain;
+ charset=iso-8859-1
+Content-Disposition: inline
+Content-Transfer-Encoding: 7bit
+
+This is a plain text
+--=_%s
+Content-Type: application/octet-stream
+Content-Disposition: attachment
+Content-Transfer-Encoding: base64
+
+WnfDtmxmIEJveGvDpG1wZmVyIGphZ2VuIFZpa3RvciBxdWVyIMO8YmVyIGRlbiBncm/Dn2VuIFN5
+bHRlciBEZWljaC4K
+
+--=_%s--
--- /dev/null
+--TEST--
+MIME_Mail HTML test
+--FILE--
+<?php
+
+require dirname(__FILE__) . '/mail_dummy.inc';
+
+$mail = new MIME_Mail('My Subject', null, 'recipient@example.com',
+ 'sender@example.com');
+$mail->setBody("This is\nthe plain text body.");
+echo $mail->send('dummy');
+
+echo "====================================================================\n";
+
+$mail = new MIME_Mail('My Subject', null, 'recipient@example.com',
+ 'sender@example.com');
+$mail->setHTMLBody("<h1>Header Title</h1>\n<p>This is<br />the html text body.</p>",
+ 'iso-8859-1', false);
+echo $mail->send('dummy');
+
+echo "====================================================================\n";
+
+$mail = new MIME_Mail('My Subject', null, 'recipient@example.com',
+ 'sender@example.com');
+$mail->setHTMLBody("<h1>Header Title</h1>\n<p>This is<br />the html text body.</p>");
+echo $mail->send('dummy');
+
+?>
+--EXPECTF--
+Subject: My Subject
+To: recipient@example.com
+From: sender@example.com
+Message-ID: <%d.%s@mail.example.com>
+User-Agent: Horde Application Framework 3.2
+Date: %s, %d %s %d %d:%d:%d %s%d
+MIME-Version: 1.0
+Content-Type: text/plain;
+ charset=iso-8859-1;
+ DelSp="Yes";
+ format="flowed"
+Content-Disposition: inline
+Content-Transfer-Encoding: 7bit
+
+This is
+the plain text body.
+====================================================================
+Subject: My Subject
+To: recipient@example.com
+From: sender@example.com
+Message-ID: <%d.%s@mail.example.com>
+User-Agent: Horde Application Framework 3.2
+Date: %s, %d %s %d %d:%d:%d %s%d
+MIME-Version: 1.0
+Content-Type: text/html;
+ charset=iso-8859-1
+Content-Disposition: inline
+Content-Transfer-Encoding: 7bit
+
+<h1>Header Title</h1>
+<p>This is<br />the html text body.</p>
+====================================================================
+Subject: My Subject
+To: recipient@example.com
+From: sender@example.com
+Message-ID: <%d.%s@mail.example.com>
+User-Agent: Horde Application Framework 3.2
+Date: %s, %d %s %d %d:%d:%d %s%d
+MIME-Version: 1.0
+Content-Type: multipart/alternative;
+ boundary="=_%s"
+Content-Transfer-Encoding: 7bit
+
+This message is in MIME format.
+
+--=_%s
+Content-Type: text/plain;
+ charset=iso-8859-1;
+ DelSp="Yes";
+ format="flowed"
+Content-Description: Plaintext Version of Message
+Content-Disposition: inline
+Content-Transfer-Encoding: 7bit
+
+
+
+HEADER TITLE
+
+This is
+the html text body.
+
+--=_%s
+Content-Type: text/html;
+ charset=iso-8859-1
+Content-Description: HTML Version of Message
+Content-Disposition: inline
+Content-Transfer-Encoding: 7bit
+
+<h1>Header Title</h1>
+<p>This is<br />the html text body.</p>
+--=_%s--
--- /dev/null
+--TEST--
+MIME_Mail::addAttachment() test
+--FILE--
+<?php
+
+require dirname(__FILE__) . '/mail_dummy.inc';
+
+$mail = new MIME_Mail('My Subject', "This is\nthe body",
+ 'recipient@example.com', 'sender@example.com',
+ 'iso-8859-15');
+$mail->addAttachment(dirname(__FILE__) . '/attachment.bin');
+$mail->addAttachment(dirname(__FILE__) . '/mail_dummy.inc', 'my_name.html', 'text/html', 'iso-8859-15');
+
+echo $mail->send('dummy');
+
+?>
+--EXPECTF--
+Subject: My Subject
+To: recipient@example.com
+From: sender@example.com
+Message-ID: <%d.%s@mail.example.com>
+User-Agent: Horde Application Framework 3.2
+Date: %s, %d %s %d %d:%d:%d %s%d
+MIME-Version: 1.0
+Content-Type: multipart/mixed;
+ boundary="=_%s"
+Content-Transfer-Encoding: 7bit
+
+This message is in MIME format.
+
+--=_%s
+Content-Type: text/plain;
+ charset=iso-8859-15;
+ DelSp="Yes";
+ format="flowed"
+Content-Disposition: inline
+Content-Transfer-Encoding: 7bit
+
+This is
+the body
+
+--=_%s
+Content-Type: application/octet-stream;
+ name="attachment.bin"
+Content-Disposition: attachment;
+ filename="attachment.bin"
+Content-Transfer-Encoding: base64
+
+WnfDtmxmIEJveGvDpG1wZmVyIGphZ2VuIFZpa3RvciBxdWVyIMO8YmVyIGRlbiBncm/Dn2VuIFN5
+bHRlciBEZWljaC4K
+
+--=_%s
+Content-Type: text/html;
+ charset=iso-8859-15;
+ name="my_name.html"
+Content-Disposition: attachment;
+ filename="my_name.html"
+Content-Transfer-Encoding: 7bit
+
+<?php
+/**
+ * @package Mail
+ */
+
+require dirname(__FILE__) . '/../MIME/Mail.php';
+$_SERVER['SERVER_NAME'] = 'mail.example.com';
+
+class Mail_dummy extends Mail {
+ function send($recipients, $headers, $body)
+ {
+ list(,$text_headers) = Mail::prepareHeaders($headers);
+ return $text_headers . "\n\n" . $body;
+ }
+}
+
+--=_%s--
--- /dev/null
+--TEST--
+MIME_Mail reusing test
+--FILE--
+<?php
+
+require dirname(__FILE__) . '/mail_dummy.inc';
+
+$mail = new MIME_Mail('My Subject', "This is\nthe body",
+ 'recipient@example.com', 'sender@example.com',
+ 'iso-8859-15');
+echo $mail->send('dummy');
+$id = $mail->_headers->getValue('message-id');
+
+echo "====================================================================\n";
+
+$mail->addHeader('To', 'Änderung <other@example.com>', 'utf-8');
+echo $mail->send('dummy');
+
+echo "====================================================================\n";
+
+var_dump($id != $mail->_headers->getValue('message-id'));
+
+?>
+--EXPECTF--
+Subject: My Subject
+To: recipient@example.com
+From: sender@example.com
+Message-ID: <%d.%s@mail.example.com>
+User-Agent: Horde Application Framework 3.2
+Date: %s, %d %s %d %d:%d:%d %s%d
+MIME-Version: 1.0
+Content-Type: text/plain;
+ charset=iso-8859-15;
+ DelSp="Yes";
+ format="flowed"
+Content-Disposition: inline
+Content-Transfer-Encoding: 7bit
+
+This is
+the body
+====================================================================
+Subject: My Subject
+From: sender@example.com
+Message-ID: <%d.%s@mail.example.com>
+User-Agent: Horde Application Framework 3.2
+Date: %s, %d %s %d %d:%d:%d %s%d
+MIME-Version: 1.0
+Content-Type: text/plain;
+ charset=iso-8859-15;
+ DelSp="Yes";
+ format="flowed"
+Content-Disposition: inline
+Content-Transfer-Encoding: 7bit
+To: =?utf-8?b?w4RuZGVydW5n?= <other@example.com>
+
+This is
+the body
+
+====================================================================
+bool(true)
+
--- /dev/null
+--TEST--
+MIME_Mail flowed text test
+--FILE--
+<?php
+
+require dirname(__FILE__) . '/mail_dummy.inc';
+
+$mail = new MIME_Mail();
+$mail->addHeader('Subject', 'My Subject');
+$mail->addHeader('To', 'recipient@example.com');
+$mail->setBody('Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
+consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
+cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.');
+
+echo $mail->send('dummy');
+
+?>
+--EXPECTF--
+Subject: My Subject
+To: recipient@example.com
+Message-ID: <%d.%s@mail.example.com>
+User-Agent: Horde Application Framework 3.2
+Date: %s, %d %s %d %d:%d:%d %s%d
+MIME-Version: 1.0
+Content-Type: text/plain;
+ charset=iso-8859-1;
+ DelSp="Yes";
+ format="flowed"
+Content-Disposition: inline
+Content-Transfer-Encoding: 7bit
+
+Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do
+eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad
+minim veniam, quis nostrud exercitation ullamco laboris nisi ut
+aliquip ex ea commodo
+consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
+cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat
+cupidatat non proident, sunt in culpa qui officia deserunt mollit anim
+id est laborum.
\ No newline at end of file
--- /dev/null
+<?php
+/**
+ * @package Mail
+ */
+
+require dirname(__FILE__) . '/../MIME/Mail.php';
+$_SERVER['SERVER_NAME'] = 'mail.example.com';
+
+class Mail_dummy extends Mail {
+ function send($recipients, $headers, $body)
+ {
+ list(,$text_headers) = Mail::prepareHeaders($headers);
+ return $text_headers . "\n\n" . $body;
+ }
+}
--- /dev/null
+--TEST--
+MIME_Viewer_html: URL dereferer tests
+--FILE--
+<?php
+
+define('HORDE_BASE', dirname(__FILE__) . '/../../..');
+require_once dirname(__FILE__) . '/../MIME/Viewer.php';
+require_once dirname(__FILE__) . '/../MIME/Viewer/html.php';
+require_once 'Horde.php';
+
+class Registry {
+ function get($param, $app = null)
+ {
+ if ($param == 'webroot' || $app == 'horde') {
+ return '/horde';
+ }
+ die("Can't emulate Registry. \$param: $param, \$app: $app");
+ }
+}
+
+class Browser {
+ function isBrowser($agent)
+ {
+ return $agent == 'msie';
+ }
+}
+
+$conf['server']['name'] = 'www.example.com';
+$conf['server']['port'] = 80;
+$conf['use_ssl'] = 0;
+$registry = new Registry();
+$browser = new Browser();
+$viewer = new MIME_Viewer_html($null);
+
+for ($i = 1; $i <= 7; $i++) {
+ $data = file_get_contents(dirname(__FILE__) . '/url' . $i . '.html');
+ echo $viewer->_cleanHTML($data);
+}
+
+?>
+--EXPECT--
+<A href="http://www.example.com/horde/services/go.php?url=http%3A%2F%2F66.102.7.147%2F">link</A>
+<A href="http://www.example.com/horde/services/go.php?url=http%3A%2F%2F%2577%2577%2577%252E%2567%256F%256F%2567%256C%2565%252E%2563%256F%256D">link</A>
+<A href="http://www.example.com/horde/services/go.php?url=ht%3A%2F%2Fwww.google.com%2F">link</A>
+<A href="http://www.example.com/horde/services/go.php?url=http%3A%2F%2Fgoogle.com%2F">link</A>
+<A href="http://www.example.com/horde/services/go.php?url=http%3A%2F%2Fwww.google.com.%2F">link</A>
+<A href="http://www.example.com/horde/services/go.php?url=XSSCleaneddocument.location%3D%27http%3A%2F%2Fwww.google.com%2F%27">link</A>
+<A href="http://www.example.com/horde/services/go.php?url=http%3A%2F%2Fwww.gohttp%3A%2F%2Fwww.google.com%2Fogle.com%2F">link</A>
--- /dev/null
+<A HREF=http://66.102.7.147/>link</A>
--- /dev/null
+<A HREF=http://%77%77%77%2E%67%6F%6F%67%6C%65%2E%63%6F%6D>link</A>
--- /dev/null
+<A HREF=ht://www.google.com/>link</A>
--- /dev/null
+<A HREF=http://google.com/>link</A>
--- /dev/null
+<A HREF=http://www.google.com./>link</A>
--- /dev/null
+<A HREF="javascript:document.location='http://www.google.com/'">link</A>
--- /dev/null
+<A HREF=http://www.gohttp://www.google.com/ogle.com/>link</A>
--- /dev/null
+--TEST--
+PHP source viewer
+--FILE--
+<?php
+
+require_once 'Horde/MIME/Viewer.php';
+require_once 'Horde/MIME/Viewer/php.php';
+
+$viewer = new MIME_Viewer_php($null);
+
+ini_set('highlight.comment', 'comment');
+ini_set('highlight.default', 'default');
+ini_set('highlight.keyword', 'keyword');
+ini_set('highlight.string', 'string');
+ini_set('highlight.html', 'html');
+echo $viewer->lineNumber(str_replace('<?php ', '', highlight_string('<?php highlight_file(__FILE__);', true)));
+?>
+--EXPECT--
+<ol class="code-listing striped">
+<li id="l1"><span class="default">highlight_file</span><span class="keyword">(</span><span class="default">__FILE__</span><span class="keyword">);</span></li>
+</ol>
\ No newline at end of file