Horde 5 WebMail Applikation: IMP unter CentOS 7.x
Als erste Applikation installieren wir uns die Anwendung IMP. Diese Anwendung werden wir neben dem eigentlichen Einsatz, dem Verwalten unserer eMails, dazu nutzen, uns beim Horde-Framework anzumelden (Authentifizierung und Authorisierung). Informationen zu Installation und Konfiguration findet man auch auf der offiziellen Doku-Seite.
Installation
Die Installation der Applikation IMP können wir ganz einfach über das Paketverwaltungswerkzeug yum vornehmen.
# yum install php-horde-imp -y
Was uns das Paket php-horde-imp alles mitgebracht hat zeigt uns der folgende Aufruf.
# rpm -qil php-horde-imp
Name : php-horde-imp
Version : 6.2.1
Release : 1.el7
Architecture: noarch
Install Date: Thu 11 Sep 2014 04:37:24 PM CEST
Group : Development/Libraries
Size : 9564345
License : GPLv2 and MIT
Signature : RSA/SHA256, Fri 08 Aug 2014 01:05:51 AM CEST, Key ID 6a2faea2352c64e5
Source RPM : php-horde-imp-6.2.1-1.el7.src.rpm
Build Date : Mon 04 Aug 2014 04:19:16 PM CEST
Build Host : buildvm-22.phx2.fedoraproject.org
Relocations : (not relocatable)
Packager : Fedora Project
Vendor : Fedora Project
URL : http://www.horde.org/apps/imp
Summary : A web based webmail system
Description :
IMP, the Internet Mail Program, is one of the most popular and widely
deployed open source webmail applications in the world. It allows
universal, web-based access to IMAP and POP3 mail servers and provides
Ajax, mobile and traditional interfaces with a rich range of features
normally found only in desktop email clients.
/etc/horde/imp
/etc/horde/imp/backends.php
/etc/horde/imp/conf.xml
/etc/horde/imp/hooks.php.dist
/etc/horde/imp/menu.php.dist
/etc/horde/imp/mime_drivers.php
/etc/horde/imp/prefs.php
/etc/httpd/conf.d/php-horde-imp.conf
/usr/bin/imp-admin-upgrade
/usr/bin/imp-bounce-spam
/usr/bin/imp-mailbox-decode
/usr/bin/imp-query-imap-cache
/usr/share/doc/pear/imp
/usr/share/doc/pear/imp/CHANGES
/usr/share/doc/pear/imp/COPYING
/usr/share/doc/pear/imp/CREDITS
/usr/share/doc/pear/imp/INSTALL
/usr/share/doc/pear/imp/PERFORMANCE
/usr/share/doc/pear/imp/README
/usr/share/doc/pear/imp/RELEASE_NOTES
/usr/share/doc/pear/imp/RFCS
/usr/share/doc/pear/imp/UPGRADING
/usr/share/horde/imp
/usr/share/horde/imp/attachment.php
/usr/share/horde/imp/basic.php
/usr/share/horde/imp/config
/usr/share/horde/imp/dynamic.php
/usr/share/horde/imp/index.php
/usr/share/horde/imp/js
/usr/share/horde/imp/js/acl.js
/usr/share/horde/imp/js/ckeditor
/usr/share/horde/imp/js/ckeditor/imagepoll.js
/usr/share/horde/imp/js/ckeditor/imageupload.js
/usr/share/horde/imp/js/ckeditor/pasteattachment.js
/usr/share/horde/imp/js/ckeditor/pasteignore.js
/usr/share/horde/imp/js/compose-base.js
/usr/share/horde/imp/js/compose-dimp.js
/usr/share/horde/imp/js/compose.js
/usr/share/horde/imp/js/contacts.js
/usr/share/horde/imp/js/dimpbase.js
/usr/share/horde/imp/js/dimpcore.js
/usr/share/horde/imp/js/draghandler.js
/usr/share/horde/imp/js/editor.js
/usr/share/horde/imp/js/external
/usr/share/horde/imp/js/external/base64.js
/usr/share/horde/imp/js/external/tinycon.js
/usr/share/horde/imp/js/flagprefs.js
/usr/share/horde/imp/js/folderprefs.js
/usr/share/horde/imp/js/folders.js
/usr/share/horde/imp/js/imp.js
/usr/share/horde/imp/js/jquery.mobile
/usr/share/horde/imp/js/jquery.mobile/plugins
/usr/share/horde/imp/js/jquery.mobile/plugins/listviewtaphold.js
/usr/share/horde/imp/js/jquery.mobile/plugins/textchange.js
/usr/share/horde/imp/js/login.js
/usr/share/horde/imp/js/mailbox.js
/usr/share/horde/imp/js/message-dimp.js
/usr/share/horde/imp/js/message.js
/usr/share/horde/imp/js/passphrase.js
/usr/share/horde/imp/js/pgp.js
/usr/share/horde/imp/js/prettyautocomplete.js
/usr/share/horde/imp/js/remoteprefs.js
/usr/share/horde/imp/js/search.js
/usr/share/horde/imp/js/searchesprefs.js
/usr/share/horde/imp/js/signaturehtml.js
/usr/share/horde/imp/js/smartmobile.js
/usr/share/horde/imp/js/viewport.js
/usr/share/horde/imp/js/viewport_utils.js
/usr/share/horde/imp/lib
/usr/share/horde/imp/lib/Ajax
/usr/share/horde/imp/lib/Ajax/Application
/usr/share/horde/imp/lib/Ajax/Application.php
/usr/share/horde/imp/lib/Ajax/Application/Compose.php
/usr/share/horde/imp/lib/Ajax/Application/Handler
/usr/share/horde/imp/lib/Ajax/Application/Handler/Common.php
/usr/share/horde/imp/lib/Ajax/Application/Handler/ComposeAttach.php
/usr/share/horde/imp/lib/Ajax/Application/Handler/Draft.php
/usr/share/horde/imp/lib/Ajax/Application/Handler/Dynamic.php
/usr/share/horde/imp/lib/Ajax/Application/Handler/ImageUnblock.php
/usr/share/horde/imp/lib/Ajax/Application/Handler/Mboxtoggle.php
/usr/share/horde/imp/lib/Ajax/Application/Handler/Passphrase.php
/usr/share/horde/imp/lib/Ajax/Application/Handler/Remote.php
/usr/share/horde/imp/lib/Ajax/Application/Handler/RemotePrefs.php
/usr/share/horde/imp/lib/Ajax/Application/Handler/Search.php
/usr/share/horde/imp/lib/Ajax/Application/Handler/Smartmobile.php
/usr/share/horde/imp/lib/Ajax/Application/ListMessages.php
/usr/share/horde/imp/lib/Ajax/Application/ShowMessage.php
/usr/share/horde/imp/lib/Ajax/Application/Viewport
/usr/share/horde/imp/lib/Ajax/Application/Viewport.php
/usr/share/horde/imp/lib/Ajax/Application/Viewport/Error.php
/usr/share/horde/imp/lib/Ajax/Imple
/usr/share/horde/imp/lib/Ajax/Imple/AutoCompleter
/usr/share/horde/imp/lib/Ajax/Imple/AutoCompleter/Pretty.php
/usr/share/horde/imp/lib/Ajax/Imple/ContactAutoCompleter.php
/usr/share/horde/imp/lib/Ajax/Imple/ImportEncryptKey.php
/usr/share/horde/imp/lib/Ajax/Imple/ItipRequest.php
/usr/share/horde/imp/lib/Ajax/Imple/PassphraseDialog.php
/usr/share/horde/imp/lib/Ajax/Imple/VcardImport.php
/usr/share/horde/imp/lib/Ajax/Queue.php
/usr/share/horde/imp/lib/Api.php
/usr/share/horde/imp/lib/Application.php
/usr/share/horde/imp/lib/Auth.php
/usr/share/horde/imp/lib/Basic
/usr/share/horde/imp/lib/Basic/Base.php
/usr/share/horde/imp/lib/Basic/Compose.php
/usr/share/horde/imp/lib/Basic/Contacts.php
/usr/share/horde/imp/lib/Basic/Error.php
/usr/share/horde/imp/lib/Basic/Folders.php
/usr/share/horde/imp/lib/Basic/Listinfo.php
/usr/share/horde/imp/lib/Basic/Mailbox.php
/usr/share/horde/imp/lib/Basic/Message.php
/usr/share/horde/imp/lib/Basic/Pgp.php
/usr/share/horde/imp/lib/Basic/Saveimage.php
/usr/share/horde/imp/lib/Basic/Search.php
/usr/share/horde/imp/lib/Basic/Searchbasic.php
/usr/share/horde/imp/lib/Basic/Smime.php
/usr/share/horde/imp/lib/Basic/Thread.php
/usr/share/horde/imp/lib/Block
/usr/share/horde/imp/lib/Block/Newmail.php
/usr/share/horde/imp/lib/Block/Summary.php
/usr/share/horde/imp/lib/Compose
/usr/share/horde/imp/lib/Compose.php
/usr/share/horde/imp/lib/Compose/Attachment
/usr/share/horde/imp/lib/Compose/Attachment.php
/usr/share/horde/imp/lib/Compose/Attachment/Linked
/usr/share/horde/imp/lib/Compose/Attachment/Linked.php
/usr/share/horde/imp/lib/Compose/Attachment/Linked/Metadata.php
/usr/share/horde/imp/lib/Compose/Attachment/Storage
/usr/share/horde/imp/lib/Compose/Attachment/Storage.php
/usr/share/horde/imp/lib/Compose/Attachment/Storage/Vfs.php
/usr/share/horde/imp/lib/Compose/Attachment/Storage/VfsLinked.php
/usr/share/horde/imp/lib/Compose/Exception
/usr/share/horde/imp/lib/Compose/Exception.php
/usr/share/horde/imp/lib/Compose/Exception/Address.php
/usr/share/horde/imp/lib/Compose/HtmlSignature.php
/usr/share/horde/imp/lib/Compose/Link.php
/usr/share/horde/imp/lib/Compose/LinkedAttachment.php
/usr/share/horde/imp/lib/Compose/Ui.php
/usr/share/horde/imp/lib/Compose/View.php
/usr/share/horde/imp/lib/Contacts
/usr/share/horde/imp/lib/Contacts.php
/usr/share/horde/imp/lib/Contacts/Avatar
/usr/share/horde/imp/lib/Contacts/Avatar/Addressbook.php
/usr/share/horde/imp/lib/Contacts/Avatar/Backend.php
/usr/share/horde/imp/lib/Contacts/Avatar/Gravatar.php
/usr/share/horde/imp/lib/Contacts/Avatar/Unknown.php
/usr/share/horde/imp/lib/Contacts/Flag
/usr/share/horde/imp/lib/Contacts/Flag/Backend.php
/usr/share/horde/imp/lib/Contacts/Flag/Host.php
/usr/share/horde/imp/lib/Contacts/Image.php
/usr/share/horde/imp/lib/Contents
/usr/share/horde/imp/lib/Contents.php
/usr/share/horde/imp/lib/Contents/View.php
/usr/share/horde/imp/lib/Crypt
/usr/share/horde/imp/lib/Crypt/Pgp.php
/usr/share/horde/imp/lib/Crypt/Smime.php
/usr/share/horde/imp/lib/Dynamic
/usr/share/horde/imp/lib/Dynamic/AddressList.php
/usr/share/horde/imp/lib/Dynamic/Base.php
/usr/share/horde/imp/lib/Dynamic/Compose
/usr/share/horde/imp/lib/Dynamic/Compose.php
/usr/share/horde/imp/lib/Dynamic/Compose/Common.php
/usr/share/horde/imp/lib/Dynamic/Helper
/usr/share/horde/imp/lib/Dynamic/Helper/Base.php
/usr/share/horde/imp/lib/Dynamic/Mailbox.php
/usr/share/horde/imp/lib/Dynamic/Message.php
/usr/share/horde/imp/lib/Exception.php
/usr/share/horde/imp/lib/Factory
/usr/share/horde/imp/lib/Factory/AuthImap.php
/usr/share/horde/imp/lib/Factory/Compose.php
/usr/share/horde/imp/lib/Factory/ComposeAtc.php
/usr/share/horde/imp/lib/Factory/Contents.php
/usr/share/horde/imp/lib/Factory/Flags.php
/usr/share/horde/imp/lib/Factory/Ftree.php
/usr/share/horde/imp/lib/Factory/Identity.php
/usr/share/horde/imp/lib/Factory/Imap.php
/usr/share/horde/imp/lib/Factory/Mail.php
/usr/share/horde/imp/lib/Factory/MailAutoconfig.php
/usr/share/horde/imp/lib/Factory/Mailbox.php
/usr/share/horde/imp/lib/Factory/MailboxCache.php
/usr/share/horde/imp/lib/Factory/MailboxList.php
/usr/share/horde/imp/lib/Factory/Maillog.php
/usr/share/horde/imp/lib/Factory/MimeViewer.php
/usr/share/horde/imp/lib/Factory/Pgp.php
/usr/share/horde/imp/lib/Factory/PrefsSort.php
/usr/share/horde/imp/lib/Factory/Quota.php
/usr/share/horde/imp/lib/Factory/Search.php
/usr/share/horde/imp/lib/Factory/Sentmail.php
/usr/share/horde/imp/lib/Factory/Smime.php
/usr/share/horde/imp/lib/Factory/Spam.php
/usr/share/horde/imp/lib/Filter.php
/usr/share/horde/imp/lib/Flag
/usr/share/horde/imp/lib/Flag/Base.php
/usr/share/horde/imp/lib/Flag/Imap
/usr/share/horde/imp/lib/Flag/Imap.php
/usr/share/horde/imp/lib/Flag/Imap/Answered.php
/usr/share/horde/imp/lib/Flag/Imap/Deleted.php
/usr/share/horde/imp/lib/Flag/Imap/Draft.php
/usr/share/horde/imp/lib/Flag/Imap/Flagged.php
/usr/share/horde/imp/lib/Flag/Imap/Forwarded.php
/usr/share/horde/imp/lib/Flag/Imap/Junk.php
/usr/share/horde/imp/lib/Flag/Imap/NotJunk.php
/usr/share/horde/imp/lib/Flag/Imap/Seen.php
/usr/share/horde/imp/lib/Flag/System
/usr/share/horde/imp/lib/Flag/System/Attachment.php
/usr/share/horde/imp/lib/Flag/System/Encrypted.php
/usr/share/horde/imp/lib/Flag/System/HighPriority.php
/usr/share/horde/imp/lib/Flag/System/List.php
/usr/share/horde/imp/lib/Flag/System/LowPriority.php
/usr/share/horde/imp/lib/Flag/System/Match
/usr/share/horde/imp/lib/Flag/System/Match/Address.php
/usr/share/horde/imp/lib/Flag/System/Match/Flag.php
/usr/share/horde/imp/lib/Flag/System/Match/Header.php
/usr/share/horde/imp/lib/Flag/System/Personal.php
/usr/share/horde/imp/lib/Flag/System/Signed.php
/usr/share/horde/imp/lib/Flag/System/Unseen.php
/usr/share/horde/imp/lib/Flag/User.php
/usr/share/horde/imp/lib/Flags.php
/usr/share/horde/imp/lib/Ftree
/usr/share/horde/imp/lib/Ftree.php
/usr/share/horde/imp/lib/Ftree/Account
/usr/share/horde/imp/lib/Ftree/Account.php
/usr/share/horde/imp/lib/Ftree/Account/Imap.php
/usr/share/horde/imp/lib/Ftree/Account/Inboxonly.php
/usr/share/horde/imp/lib/Ftree/Account/Remote.php
/usr/share/horde/imp/lib/Ftree/Account/Vfolder.php
/usr/share/horde/imp/lib/Ftree/Element.php
/usr/share/horde/imp/lib/Ftree/Eltdiff.php
/usr/share/horde/imp/lib/Ftree/Iterator
/usr/share/horde/imp/lib/Ftree/Iterator.php
/usr/share/horde/imp/lib/Ftree/Iterator/Ancestors.php
/usr/share/horde/imp/lib/Ftree/IteratorFilter
/usr/share/horde/imp/lib/Ftree/IteratorFilter.php
/usr/share/horde/imp/lib/Ftree/IteratorFilter/Children.php
/usr/share/horde/imp/lib/Ftree/IteratorFilter/Containers.php
/usr/share/horde/imp/lib/Ftree/IteratorFilter/Expanded.php
/usr/share/horde/imp/lib/Ftree/IteratorFilter/Invisible.php
/usr/share/horde/imp/lib/Ftree/IteratorFilter/Mailboxes.php
/usr/share/horde/imp/lib/Ftree/IteratorFilter/Nonimap.php
/usr/share/horde/imp/lib/Ftree/IteratorFilter/Polled.php
/usr/share/horde/imp/lib/Ftree/IteratorFilter/Remote.php
/usr/share/horde/imp/lib/Ftree/IteratorFilter/Special.php
/usr/share/horde/imp/lib/Ftree/IteratorFilter/Subscribed.php
/usr/share/horde/imp/lib/Ftree/IteratorFilter/Vfolder.php
/usr/share/horde/imp/lib/Ftree/Prefs
/usr/share/horde/imp/lib/Ftree/Prefs.php
/usr/share/horde/imp/lib/Ftree/Prefs/Expanded.php
/usr/share/horde/imp/lib/Ftree/Prefs/Poll.php
/usr/share/horde/imp/lib/Ftree/Select.php
/usr/share/horde/imp/lib/IMP.php
/usr/share/horde/imp/lib/Images.php
/usr/share/horde/imp/lib/Imap
/usr/share/horde/imp/lib/Imap.php
/usr/share/horde/imp/lib/Imap/Acl.php
/usr/share/horde/imp/lib/Imap/Cache
/usr/share/horde/imp/lib/Imap/Cache/Wrapper.php
/usr/share/horde/imp/lib/Imap/Config.php
/usr/share/horde/imp/lib/Imap/Exception.php
/usr/share/horde/imp/lib/Imap/Password.php
/usr/share/horde/imp/lib/Imap/PermanentFlags.php
/usr/share/horde/imp/lib/Imap/Remote.php
/usr/share/horde/imp/lib/Indices
/usr/share/horde/imp/lib/Indices.php
/usr/share/horde/imp/lib/Indices/Mailbox.php
/usr/share/horde/imp/lib/LoginTasks
/usr/share/horde/imp/lib/LoginTasks/SystemTask
/usr/share/horde/imp/lib/LoginTasks/SystemTask/GarbageCollection.php
/usr/share/horde/imp/lib/LoginTasks/SystemTask/Upgrade.php
/usr/share/horde/imp/lib/LoginTasks/SystemTask/UpgradeAuth.php
/usr/share/horde/imp/lib/LoginTasks/Task
/usr/share/horde/imp/lib/LoginTasks/Task/Autocreate.php
/usr/share/horde/imp/lib/LoginTasks/Task/DeleteAttachmentsMonthly.php
/usr/share/horde/imp/lib/LoginTasks/Task/DeleteSentmailMonthly.php
/usr/share/horde/imp/lib/LoginTasks/Task/FilterOnLogin.php
/usr/share/horde/imp/lib/LoginTasks/Task/PurgeSentmail.php
/usr/share/horde/imp/lib/LoginTasks/Task/PurgeSpam.php
/usr/share/horde/imp/lib/LoginTasks/Task/PurgeTrash.php
/usr/share/horde/imp/lib/LoginTasks/Task/RecoverDraft.php
/usr/share/horde/imp/lib/LoginTasks/Task/RenameSentmailMonthly.php
/usr/share/horde/imp/lib/Mailbox
/usr/share/horde/imp/lib/Mailbox.php
/usr/share/horde/imp/lib/Mailbox/List
/usr/share/horde/imp/lib/Mailbox/List.php
/usr/share/horde/imp/lib/Mailbox/List/Pop3.php
/usr/share/horde/imp/lib/Mailbox/List/Thread.php
/usr/share/horde/imp/lib/Mailbox/List/Virtual.php
/usr/share/horde/imp/lib/Mailbox/SessionCache.php
/usr/share/horde/imp/lib/Mailbox/Ui.php
/usr/share/horde/imp/lib/Maillog
/usr/share/horde/imp/lib/Maillog.php
/usr/share/horde/imp/lib/Maillog/Log
/usr/share/horde/imp/lib/Maillog/Log/Base.php
/usr/share/horde/imp/lib/Maillog/Log/Forward.php
/usr/share/horde/imp/lib/Maillog/Log/Mdn.php
/usr/share/horde/imp/lib/Maillog/Log/Redirect.php
/usr/share/horde/imp/lib/Maillog/Log/Reply.php
/usr/share/horde/imp/lib/Maillog/Log/Replyall.php
/usr/share/horde/imp/lib/Maillog/Log/Replylist.php
/usr/share/horde/imp/lib/Maillog/Message.php
/usr/share/horde/imp/lib/Maillog/Storage
/usr/share/horde/imp/lib/Maillog/Storage/Base.php
/usr/share/horde/imp/lib/Maillog/Storage/Composite.php
/usr/share/horde/imp/lib/Maillog/Storage/History.php
/usr/share/horde/imp/lib/Maillog/Storage/Mdnsent.php
/usr/share/horde/imp/lib/Maillog/Storage/Null.php
/usr/share/horde/imp/lib/Mbox
/usr/share/horde/imp/lib/Mbox/Generate.php
/usr/share/horde/imp/lib/Mbox/Import.php
/usr/share/horde/imp/lib/Mbox/Parse.php
/usr/share/horde/imp/lib/Mbox/Size.php
/usr/share/horde/imp/lib/Message
/usr/share/horde/imp/lib/Message.php
/usr/share/horde/imp/lib/Message/Ui.php
/usr/share/horde/imp/lib/Mime
/usr/share/horde/imp/lib/Mime/Headers.php
/usr/share/horde/imp/lib/Mime/Status.php
/usr/share/horde/imp/lib/Mime/Viewer
/usr/share/horde/imp/lib/Mime/Viewer/Alternative.php
/usr/share/horde/imp/lib/Mime/Viewer/Appledouble.php
/usr/share/horde/imp/lib/Mime/Viewer/Audio.php
/usr/share/horde/imp/lib/Mime/Viewer/Enriched.php
/usr/share/horde/imp/lib/Mime/Viewer/Externalbody.php
/usr/share/horde/imp/lib/Mime/Viewer/Html.php
/usr/share/horde/imp/lib/Mime/Viewer/Images.php
/usr/share/horde/imp/lib/Mime/Viewer/Itip.php
/usr/share/horde/imp/lib/Mime/Viewer/Mdn.php
/usr/share/horde/imp/lib/Mime/Viewer/Partial.php
/usr/share/horde/imp/lib/Mime/Viewer/Pdf.php
/usr/share/horde/imp/lib/Mime/Viewer/Pgp.php
/usr/share/horde/imp/lib/Mime/Viewer/Plain.php
/usr/share/horde/imp/lib/Mime/Viewer/Related.php
/usr/share/horde/imp/lib/Mime/Viewer/Rfc822.php
/usr/share/horde/imp/lib/Mime/Viewer/Smil.php
/usr/share/horde/imp/lib/Mime/Viewer/Smime.php
/usr/share/horde/imp/lib/Mime/Viewer/Status.php
/usr/share/horde/imp/lib/Mime/Viewer/Vcard.php
/usr/share/horde/imp/lib/Mime/Viewer/Video.php
/usr/share/horde/imp/lib/Mime/Viewer/Zip.php
/usr/share/horde/imp/lib/Minimal
/usr/share/horde/imp/lib/Minimal/Base.php
/usr/share/horde/imp/lib/Minimal/Compose.php
/usr/share/horde/imp/lib/Minimal/Error.php
/usr/share/horde/imp/lib/Minimal/Folders.php
/usr/share/horde/imp/lib/Minimal/Mailbox.php
/usr/share/horde/imp/lib/Minimal/Message.php
/usr/share/horde/imp/lib/Minimal/Messagepart.php
/usr/share/horde/imp/lib/Minimal/Search.php
/usr/share/horde/imp/lib/Notification
/usr/share/horde/imp/lib/Notification/Event
/usr/share/horde/imp/lib/Notification/Event/Status.php
/usr/share/horde/imp/lib/Notification/Handler
/usr/share/horde/imp/lib/Notification/Handler/Decorator
/usr/share/horde/imp/lib/Notification/Handler/Decorator/ImapAlerts.php
/usr/share/horde/imp/lib/Notification/Handler/Decorator/NewmailNotify.php
/usr/share/horde/imp/lib/Perms.php
/usr/share/horde/imp/lib/Prefs
/usr/share/horde/imp/lib/Prefs/AttribText.php
/usr/share/horde/imp/lib/Prefs/Identity.php
/usr/share/horde/imp/lib/Prefs/Sort
/usr/share/horde/imp/lib/Prefs/Sort.php
/usr/share/horde/imp/lib/Prefs/Sort/FixedDate.php
/usr/share/horde/imp/lib/Prefs/Sort/None.php
/usr/share/horde/imp/lib/Prefs/Sort/Sortpref
/usr/share/horde/imp/lib/Prefs/Sort/Sortpref.php
/usr/share/horde/imp/lib/Prefs/Sort/Sortpref/Locked.php
/usr/share/horde/imp/lib/Prefs/Special
/usr/share/horde/imp/lib/Prefs/Special/Acl.php
/usr/share/horde/imp/lib/Prefs/Special/ComposeTemplates.php
/usr/share/horde/imp/lib/Prefs/Special/Drafts.php
/usr/share/horde/imp/lib/Prefs/Special/Encrypt.php
/usr/share/horde/imp/lib/Prefs/Special/Flag.php
/usr/share/horde/imp/lib/Prefs/Special/HtmlSignature.php
/usr/share/horde/imp/lib/Prefs/Special/ImageReplacement.php
/usr/share/horde/imp/lib/Prefs/Special/InitialPage.php
/usr/share/horde/imp/lib/Prefs/Special/Mailto.php
/usr/share/horde/imp/lib/Prefs/Special/NewmailSound.php
/usr/share/horde/imp/lib/Prefs/Special/PgpPrivateKey.php
/usr/share/horde/imp/lib/Prefs/Special/PgpPublicKey.php
/usr/share/horde/imp/lib/Prefs/Special/Remote.php
/usr/share/horde/imp/lib/Prefs/Special/Searches.php
/usr/share/horde/imp/lib/Prefs/Special/Sentmail.php
/usr/share/horde/imp/lib/Prefs/Special/SmimePrivateKey.php
/usr/share/horde/imp/lib/Prefs/Special/SmimePublicKey.php
/usr/share/horde/imp/lib/Prefs/Special/Sourceselect.php
/usr/share/horde/imp/lib/Prefs/Special/Spam.php
/usr/share/horde/imp/lib/Prefs/Special/SpecialMboxes.php
/usr/share/horde/imp/lib/Prefs/Special/Trash.php
/usr/share/horde/imp/lib/Quota
/usr/share/horde/imp/lib/Quota.php
/usr/share/horde/imp/lib/Quota/Hook.php
/usr/share/horde/imp/lib/Quota/Imap.php
/usr/share/horde/imp/lib/Quota/Null.php
/usr/share/horde/imp/lib/Quota/Ui.php
/usr/share/horde/imp/lib/Remote
/usr/share/horde/imp/lib/Remote.php
/usr/share/horde/imp/lib/Remote/Account.php
/usr/share/horde/imp/lib/Script
/usr/share/horde/imp/lib/Script/Package
/usr/share/horde/imp/lib/Script/Package/ComposeBase.php
/usr/share/horde/imp/lib/Script/Package/Editor.php
/usr/share/horde/imp/lib/Script/Package/Imp.php
/usr/share/horde/imp/lib/Search
/usr/share/horde/imp/lib/Search.php
/usr/share/horde/imp/lib/Search/Element
/usr/share/horde/imp/lib/Search/Element.php
/usr/share/horde/imp/lib/Search/Element/Attachment.php
/usr/share/horde/imp/lib/Search/Element/Autogenerated.php
/usr/share/horde/imp/lib/Search/Element/Bulk.php
/usr/share/horde/imp/lib/Search/Element/Contacts.php
/usr/share/horde/imp/lib/Search/Element/Date.php
/usr/share/horde/imp/lib/Search/Element/Daterange.php
/usr/share/horde/imp/lib/Search/Element/Flag.php
/usr/share/horde/imp/lib/Search/Element/Header.php
/usr/share/horde/imp/lib/Search/Element/Mailinglist.php
/usr/share/horde/imp/lib/Search/Element/Or.php
/usr/share/horde/imp/lib/Search/Element/Personal.php
/usr/share/horde/imp/lib/Search/Element/Recipient.php
/usr/share/horde/imp/lib/Search/Element/Size.php
/usr/share/horde/imp/lib/Search/Element/Text.php
/usr/share/horde/imp/lib/Search/Element/Within.php
/usr/share/horde/imp/lib/Search/Filter
/usr/share/horde/imp/lib/Search/Filter.php
/usr/share/horde/imp/lib/Search/Filter/Attachment.php
/usr/share/horde/imp/lib/Search/Filter/Autogenerated.php
/usr/share/horde/imp/lib/Search/Filter/Builtin.php
/usr/share/horde/imp/lib/Search/Filter/Bulk.php
/usr/share/horde/imp/lib/Search/Filter/Contacts.php
/usr/share/horde/imp/lib/Search/Filter/Mailinglist.php
/usr/share/horde/imp/lib/Search/Filter/Personal.php
/usr/share/horde/imp/lib/Search/IteratorFilter.php
/usr/share/horde/imp/lib/Search/Query.php
/usr/share/horde/imp/lib/Search/Ui.php
/usr/share/horde/imp/lib/Search/Vfolder
/usr/share/horde/imp/lib/Search/Vfolder.php
/usr/share/horde/imp/lib/Search/Vfolder/Builtin.php
/usr/share/horde/imp/lib/Search/Vfolder/Vinbox.php
/usr/share/horde/imp/lib/Search/Vfolder/Vtrash.php
/usr/share/horde/imp/lib/Sentmail
/usr/share/horde/imp/lib/Sentmail.php
/usr/share/horde/imp/lib/Sentmail/Mongo.php
/usr/share/horde/imp/lib/Sentmail/Null.php
/usr/share/horde/imp/lib/Sentmail/Sql.php
/usr/share/horde/imp/lib/Smartmobile.php
/usr/share/horde/imp/lib/Spam
/usr/share/horde/imp/lib/Spam.php
/usr/share/horde/imp/lib/Spam/Base.php
/usr/share/horde/imp/lib/Spam/Email.php
/usr/share/horde/imp/lib/Spam/Null.php
/usr/share/horde/imp/lib/Spam/Program.php
/usr/share/horde/imp/lib/Test.php
/usr/share/horde/imp/lib/Tree
/usr/share/horde/imp/lib/Tree/Flist.php
/usr/share/horde/imp/lib/Tree/Jquerymobile.php
/usr/share/horde/imp/lib/Tree/Simplehtml.php
/usr/share/horde/imp/lib/View
/usr/share/horde/imp/lib/View/Subinfo.php
/usr/share/horde/imp/locale
/usr/share/horde/imp/locale/ar
/usr/share/horde/imp/locale/ar/LC_MESSAGES
/usr/share/horde/imp/locale/ar/LC_MESSAGES/imp.mo
/usr/share/horde/imp/locale/ar_OM
/usr/share/horde/imp/locale/ar_OM/LC_MESSAGES
/usr/share/horde/imp/locale/ar_OM/LC_MESSAGES/imp.mo
/usr/share/horde/imp/locale/bg
/usr/share/horde/imp/locale/bg/LC_MESSAGES
/usr/share/horde/imp/locale/bg/LC_MESSAGES/imp.mo
/usr/share/horde/imp/locale/bs
/usr/share/horde/imp/locale/bs/LC_MESSAGES
/usr/share/horde/imp/locale/bs/LC_MESSAGES/imp.mo
/usr/share/horde/imp/locale/ca
/usr/share/horde/imp/locale/ca/LC_MESSAGES
/usr/share/horde/imp/locale/ca/LC_MESSAGES/imp.mo
/usr/share/horde/imp/locale/ca/help.xml
/usr/share/horde/imp/locale/cs
/usr/share/horde/imp/locale/cs/LC_MESSAGES
/usr/share/horde/imp/locale/cs/LC_MESSAGES/imp.mo
/usr/share/horde/imp/locale/cs/help.xml
/usr/share/horde/imp/locale/da
/usr/share/horde/imp/locale/da/LC_MESSAGES
/usr/share/horde/imp/locale/da/LC_MESSAGES/imp.mo
/usr/share/horde/imp/locale/da/help.xml
/usr/share/horde/imp/locale/de
/usr/share/horde/imp/locale/de/LC_MESSAGES
/usr/share/horde/imp/locale/de/LC_MESSAGES/imp.mo
/usr/share/horde/imp/locale/de/help.xml
/usr/share/horde/imp/locale/el
/usr/share/horde/imp/locale/el/LC_MESSAGES
/usr/share/horde/imp/locale/el/LC_MESSAGES/imp.mo
/usr/share/horde/imp/locale/el/help.xml
/usr/share/horde/imp/locale/en
/usr/share/horde/imp/locale/en/help.xml
/usr/share/horde/imp/locale/es
/usr/share/horde/imp/locale/es/LC_MESSAGES
/usr/share/horde/imp/locale/es/LC_MESSAGES/imp.mo
/usr/share/horde/imp/locale/es/help.xml
/usr/share/horde/imp/locale/et
/usr/share/horde/imp/locale/et/LC_MESSAGES
/usr/share/horde/imp/locale/et/LC_MESSAGES/imp.mo
/usr/share/horde/imp/locale/et/help.xml
/usr/share/horde/imp/locale/eu
/usr/share/horde/imp/locale/eu/LC_MESSAGES
/usr/share/horde/imp/locale/eu/LC_MESSAGES/imp.mo
/usr/share/horde/imp/locale/eu/help.xml
/usr/share/horde/imp/locale/fa
/usr/share/horde/imp/locale/fa/LC_MESSAGES
/usr/share/horde/imp/locale/fa/LC_MESSAGES/imp.mo
/usr/share/horde/imp/locale/fa/help.xml
/usr/share/horde/imp/locale/fi
/usr/share/horde/imp/locale/fi/LC_MESSAGES
/usr/share/horde/imp/locale/fi/LC_MESSAGES/imp.mo
/usr/share/horde/imp/locale/fi/help.xml
/usr/share/horde/imp/locale/fr
/usr/share/horde/imp/locale/fr/LC_MESSAGES
/usr/share/horde/imp/locale/fr/LC_MESSAGES/imp.mo
/usr/share/horde/imp/locale/fr/help.xml
/usr/share/horde/imp/locale/gl
/usr/share/horde/imp/locale/gl/LC_MESSAGES
/usr/share/horde/imp/locale/gl/LC_MESSAGES/imp.mo
/usr/share/horde/imp/locale/he
/usr/share/horde/imp/locale/he/LC_MESSAGES
/usr/share/horde/imp/locale/he/LC_MESSAGES/imp.mo
/usr/share/horde/imp/locale/hr
/usr/share/horde/imp/locale/hr/LC_MESSAGES
/usr/share/horde/imp/locale/hr/LC_MESSAGES/imp.mo
/usr/share/horde/imp/locale/hr/help.xml
/usr/share/horde/imp/locale/hu
/usr/share/horde/imp/locale/hu/LC_MESSAGES
/usr/share/horde/imp/locale/hu/LC_MESSAGES/imp.mo
/usr/share/horde/imp/locale/hu/help.xml
/usr/share/horde/imp/locale/id
/usr/share/horde/imp/locale/id/LC_MESSAGES
/usr/share/horde/imp/locale/id/LC_MESSAGES/imp.mo
/usr/share/horde/imp/locale/is
/usr/share/horde/imp/locale/is/LC_MESSAGES
/usr/share/horde/imp/locale/is/LC_MESSAGES/imp.mo
/usr/share/horde/imp/locale/it
/usr/share/horde/imp/locale/it/LC_MESSAGES
/usr/share/horde/imp/locale/it/LC_MESSAGES/imp.mo
/usr/share/horde/imp/locale/it/help.xml
/usr/share/horde/imp/locale/ja
/usr/share/horde/imp/locale/ja/LC_MESSAGES
/usr/share/horde/imp/locale/ja/LC_MESSAGES/imp.mo
/usr/share/horde/imp/locale/ja/help.xml
/usr/share/horde/imp/locale/km
/usr/share/horde/imp/locale/km/LC_MESSAGES
/usr/share/horde/imp/locale/km/LC_MESSAGES/imp.mo
/usr/share/horde/imp/locale/ko
/usr/share/horde/imp/locale/ko/LC_MESSAGES
/usr/share/horde/imp/locale/ko/LC_MESSAGES/imp.mo
/usr/share/horde/imp/locale/ko/help.xml
/usr/share/horde/imp/locale/lt
/usr/share/horde/imp/locale/lt/LC_MESSAGES
/usr/share/horde/imp/locale/lt/LC_MESSAGES/imp.mo
/usr/share/horde/imp/locale/lv
/usr/share/horde/imp/locale/lv/LC_MESSAGES
/usr/share/horde/imp/locale/lv/LC_MESSAGES/imp.mo
/usr/share/horde/imp/locale/lv/help.xml
/usr/share/horde/imp/locale/mk
/usr/share/horde/imp/locale/mk/LC_MESSAGES
/usr/share/horde/imp/locale/mk/LC_MESSAGES/imp.mo
/usr/share/horde/imp/locale/nb
/usr/share/horde/imp/locale/nb/LC_MESSAGES
/usr/share/horde/imp/locale/nb/LC_MESSAGES/imp.mo
/usr/share/horde/imp/locale/nb/help.xml
/usr/share/horde/imp/locale/nl
/usr/share/horde/imp/locale/nl/LC_MESSAGES
/usr/share/horde/imp/locale/nl/LC_MESSAGES/imp.mo
/usr/share/horde/imp/locale/nl/help.xml
/usr/share/horde/imp/locale/nn
/usr/share/horde/imp/locale/nn/LC_MESSAGES
/usr/share/horde/imp/locale/nn/LC_MESSAGES/imp.mo
/usr/share/horde/imp/locale/pl
/usr/share/horde/imp/locale/pl/LC_MESSAGES
/usr/share/horde/imp/locale/pl/LC_MESSAGES/imp.mo
/usr/share/horde/imp/locale/pl/help.xml
/usr/share/horde/imp/locale/pt
/usr/share/horde/imp/locale/pt/LC_MESSAGES
/usr/share/horde/imp/locale/pt/LC_MESSAGES/imp.mo
/usr/share/horde/imp/locale/pt/help.xml
/usr/share/horde/imp/locale/pt_BR
/usr/share/horde/imp/locale/pt_BR/LC_MESSAGES
/usr/share/horde/imp/locale/pt_BR/LC_MESSAGES/imp.mo
/usr/share/horde/imp/locale/pt_BR/help.xml
/usr/share/horde/imp/locale/ro
/usr/share/horde/imp/locale/ro/LC_MESSAGES
/usr/share/horde/imp/locale/ro/LC_MESSAGES/imp.mo
/usr/share/horde/imp/locale/ru
/usr/share/horde/imp/locale/ru/LC_MESSAGES
/usr/share/horde/imp/locale/ru/LC_MESSAGES/imp.mo
/usr/share/horde/imp/locale/ru/help.xml
/usr/share/horde/imp/locale/sk
/usr/share/horde/imp/locale/sk/LC_MESSAGES
/usr/share/horde/imp/locale/sk/LC_MESSAGES/imp.mo
/usr/share/horde/imp/locale/sk/help.xml
/usr/share/horde/imp/locale/sl
/usr/share/horde/imp/locale/sl/LC_MESSAGES
/usr/share/horde/imp/locale/sl/LC_MESSAGES/imp.mo
/usr/share/horde/imp/locale/sv
/usr/share/horde/imp/locale/sv/LC_MESSAGES
/usr/share/horde/imp/locale/sv/LC_MESSAGES/imp.mo
/usr/share/horde/imp/locale/sv/help.xml
/usr/share/horde/imp/locale/th
/usr/share/horde/imp/locale/th/LC_MESSAGES
/usr/share/horde/imp/locale/th/LC_MESSAGES/imp.mo
/usr/share/horde/imp/locale/tr
/usr/share/horde/imp/locale/tr/LC_MESSAGES
/usr/share/horde/imp/locale/tr/LC_MESSAGES/imp.mo
/usr/share/horde/imp/locale/tr/help.xml
/usr/share/horde/imp/locale/uk
/usr/share/horde/imp/locale/uk/LC_MESSAGES
/usr/share/horde/imp/locale/uk/LC_MESSAGES/imp.mo
/usr/share/horde/imp/locale/uk/help.xml
/usr/share/horde/imp/locale/zh_CN
/usr/share/horde/imp/locale/zh_CN/LC_MESSAGES
/usr/share/horde/imp/locale/zh_CN/LC_MESSAGES/imp.mo
/usr/share/horde/imp/locale/zh_CN/help.xml
/usr/share/horde/imp/locale/zh_TW
/usr/share/horde/imp/locale/zh_TW/LC_MESSAGES
/usr/share/horde/imp/locale/zh_TW/LC_MESSAGES/imp.mo
/usr/share/horde/imp/locale/zh_TW/help.xml
/usr/share/horde/imp/migration
/usr/share/horde/imp/migration/1_imp_base_tables.php
/usr/share/horde/imp/migration/2_imp_autoincrement_sentmail.php
/usr/share/horde/imp/migration/3_imp_maillog_update.php
/usr/share/horde/imp/minimal.php
/usr/share/horde/imp/rss.php
/usr/share/horde/imp/smartmobile.php
/usr/share/horde/imp/templates
/usr/share/horde/imp/templates/basic
/usr/share/horde/imp/templates/basic/compose
/usr/share/horde/imp/templates/basic/compose/compose.html.php
/usr/share/horde/imp/templates/basic/compose/redirect.html.php
/usr/share/horde/imp/templates/basic/compose/success.html.php
/usr/share/horde/imp/templates/basic/flist
/usr/share/horde/imp/templates/basic/flist/flist.html.php
/usr/share/horde/imp/templates/basic/folders
/usr/share/horde/imp/templates/basic/folders/actions.html.php
/usr/share/horde/imp/templates/basic/folders/folders_confirm.html.php
/usr/share/horde/imp/templates/basic/folders/folders_size.html.php
/usr/share/horde/imp/templates/basic/folders/head.html.php
/usr/share/horde/imp/templates/basic/folders/import.html.php
/usr/share/horde/imp/templates/basic/mailbox
/usr/share/horde/imp/templates/basic/mailbox/actions.html.php
/usr/share/horde/imp/templates/basic/mailbox/actions_deleted.html.php
/usr/share/horde/imp/templates/basic/mailbox/empty_mailbox.html.php
/usr/share/horde/imp/templates/basic/mailbox/form_start.html.php
/usr/share/horde/imp/templates/basic/mailbox/header.html.php
/usr/share/horde/imp/templates/basic/mailbox/mailbox.html.php
/usr/share/horde/imp/templates/basic/mailbox/message_headers.html.php
/usr/share/horde/imp/templates/basic/mailbox/navbar.html.php
/usr/share/horde/imp/templates/basic/mailbox/searchmbox.html.php
/usr/share/horde/imp/templates/basic/message
/usr/share/horde/imp/templates/basic/message/message.html.php
/usr/share/horde/imp/templates/basic/message/navbar_actions.html.php
/usr/share/horde/imp/templates/basic/message/navbar_navigate.html.php
/usr/share/horde/imp/templates/basic/message/navbar_top.html.php
/usr/share/horde/imp/templates/basic/search
/usr/share/horde/imp/templates/basic/search/search-basic.html.php
/usr/share/horde/imp/templates/basic/subinfo.html.php
/usr/share/horde/imp/templates/contacts
/usr/share/horde/imp/templates/contacts/contacts.html.php
/usr/share/horde/imp/templates/dynamic
/usr/share/horde/imp/templates/dynamic/compose-base.html.php
/usr/share/horde/imp/templates/dynamic/compose.html.php
/usr/share/horde/imp/templates/dynamic/header.html.php
/usr/share/horde/imp/templates/dynamic/mailbox.html.php
/usr/share/horde/imp/templates/dynamic/mailbox_subinfo.html.php
/usr/share/horde/imp/templates/dynamic/message.html.php
/usr/share/horde/imp/templates/dynamic/msglist_horiz.html
/usr/share/horde/imp/templates/dynamic/msglist_vert.html
/usr/share/horde/imp/templates/dynamic/qreply.html.php
/usr/share/horde/imp/templates/dynamic/redirect.html.php
/usr/share/horde/imp/templates/dynamic/sidebar.html.php
/usr/share/horde/imp/templates/itip
/usr/share/horde/imp/templates/itip/action.html.php
/usr/share/horde/imp/templates/itip/base.html.php
/usr/share/horde/imp/templates/listinfo
/usr/share/horde/imp/templates/listinfo/listinfo.html.php
/usr/share/horde/imp/templates/minimal
/usr/share/horde/imp/templates/minimal/compose.html.php
/usr/share/horde/imp/templates/minimal/folders.html.php
/usr/share/horde/imp/templates/minimal/header.html.php
/usr/share/horde/imp/templates/minimal/mailbox.html.php
/usr/share/horde/imp/templates/minimal/menu.html.php
/usr/share/horde/imp/templates/minimal/message.html.php
/usr/share/horde/imp/templates/minimal/messagepart.html.php
/usr/share/horde/imp/templates/minimal/redirect.html.php
/usr/share/horde/imp/templates/minimal/search.html.php
/usr/share/horde/imp/templates/pgp
/usr/share/horde/imp/templates/pgp/import_key.html.php
/usr/share/horde/imp/templates/prefs
/usr/share/horde/imp/templates/prefs/acl.html.php
/usr/share/horde/imp/templates/prefs/composetemplates.html.php
/usr/share/horde/imp/templates/prefs/drafts.html.php
/usr/share/horde/imp/templates/prefs/encrypt.html.php
/usr/share/horde/imp/templates/prefs/flags.html.php
/usr/share/horde/imp/templates/prefs/imagereplacement.html.php
/usr/share/horde/imp/templates/prefs/initialpage.html.php
/usr/share/horde/imp/templates/prefs/mailto.html.php
/usr/share/horde/imp/templates/prefs/newmailaudio.html.php
/usr/share/horde/imp/templates/prefs/pgpprivatekey.html.php
/usr/share/horde/imp/templates/prefs/pgppublickey.html.php
/usr/share/horde/imp/templates/prefs/remote.html.php
/usr/share/horde/imp/templates/prefs/searches.html.php
/usr/share/horde/imp/templates/prefs/sentmail.html.php
/usr/share/horde/imp/templates/prefs/signaturehtml.html.php
/usr/share/horde/imp/templates/prefs/smimeprivatekey.html.php
/usr/share/horde/imp/templates/prefs/smimepublickey.html.php
/usr/share/horde/imp/templates/prefs/spam.html.php
/usr/share/horde/imp/templates/prefs/specialuse.html.php
/usr/share/horde/imp/templates/prefs/trash.html.php
/usr/share/horde/imp/templates/print
/usr/share/horde/imp/templates/print/headers.html.php
/usr/share/horde/imp/templates/rss
/usr/share/horde/imp/templates/rss/mailbox.rss.php
/usr/share/horde/imp/templates/saveimage
/usr/share/horde/imp/templates/saveimage/saveimage.html.php
/usr/share/horde/imp/templates/search
/usr/share/horde/imp/templates/search/search-all.html.php
/usr/share/horde/imp/templates/search/search.html.php
/usr/share/horde/imp/templates/smartmobile
/usr/share/horde/imp/templates/smartmobile/compose.html.php
/usr/share/horde/imp/templates/smartmobile/copymove.html.php
/usr/share/horde/imp/templates/smartmobile/folders.html.php
/usr/share/horde/imp/templates/smartmobile/mailbox.html.php
/usr/share/horde/imp/templates/smartmobile/message.html.php
/usr/share/horde/imp/templates/smartmobile/search.html.php
/usr/share/horde/imp/templates/smime
/usr/share/horde/imp/templates/smime/import_key.html.php
/usr/share/horde/imp/templates/test
/usr/share/horde/imp/templates/test/mailserver.inc
/usr/share/horde/imp/templates/thread
/usr/share/horde/imp/templates/thread/thread.html.php
/usr/share/horde/imp/themes
/usr/share/horde/imp/themes/default
/usr/share/horde/imp/themes/default/basic
/usr/share/horde/imp/themes/default/basic/screen.css
/usr/share/horde/imp/themes/default/block
/usr/share/horde/imp/themes/default/block/screen.css
/usr/share/horde/imp/themes/default/dynamic
/usr/share/horde/imp/themes/default/dynamic/screen.css
/usr/share/horde/imp/themes/default/graphics
/usr/share/horde/imp/themes/default/graphics/add_contact.png
/usr/share/horde/imp/themes/default/graphics/addressbook_browse.png
/usr/share/horde/imp/themes/default/graphics/answered.png
/usr/share/horde/imp/themes/default/graphics/application_tile_horizontal.png
/usr/share/horde/imp/themes/default/graphics/application_tile_vertical.png
/usr/share/horde/imp/themes/default/graphics/arrow_collapsed.png
/usr/share/horde/imp/themes/default/graphics/arrow_down.png
/usr/share/horde/imp/themes/default/graphics/arrow_expanded.png
/usr/share/horde/imp/themes/default/graphics/arrow_up.png
/usr/share/horde/imp/themes/default/graphics/attachment.png
/usr/share/horde/imp/themes/default/graphics/blacklist.png
/usr/share/horde/imp/themes/default/graphics/button-split.png
/usr/share/horde/imp/themes/default/graphics/calendar.png
/usr/share/horde/imp/themes/default/graphics/checkbox_off.png
/usr/share/horde/imp/themes/default/graphics/checkbox_on.png
/usr/share/horde/imp/themes/default/graphics/checkbox_over.png
/usr/share/horde/imp/themes/default/graphics/checkmail.png
/usr/share/horde/imp/themes/default/graphics/clearflag.png
/usr/share/horde/imp/themes/default/graphics/clipboard.png
/usr/share/horde/imp/themes/default/graphics/close.png
/usr/share/horde/imp/themes/default/graphics/compose.png
/usr/share/horde/imp/themes/default/graphics/delete-small.png
/usr/share/horde/imp/themes/default/graphics/delete.png
/usr/share/horde/imp/themes/default/graphics/download.png
/usr/share/horde/imp/themes/default/graphics/drafts.png
/usr/share/horde/imp/themes/default/graphics/edit.png
/usr/share/horde/imp/themes/default/graphics/empty_spam.png
/usr/share/horde/imp/themes/default/graphics/empty_trash.png
/usr/share/horde/imp/themes/default/graphics/favicon.ico
/usr/share/horde/imp/themes/default/graphics/fetchmail.png
/usr/share/horde/imp/themes/default/graphics/filters.png
/usr/share/horde/imp/themes/default/graphics/flagged.png
/usr/share/horde/imp/themes/default/graphics/flags
/usr/share/horde/imp/themes/default/graphics/flags/answered-inv.png
/usr/share/horde/imp/themes/default/graphics/flags/answered.png
/usr/share/horde/imp/themes/default/graphics/flags/attachment-inv.png
/usr/share/horde/imp/themes/default/graphics/flags/attachment.png
/usr/share/horde/imp/themes/default/graphics/flags/deleted-inv.png
/usr/share/horde/imp/themes/default/graphics/flags/deleted.png
/usr/share/horde/imp/themes/default/graphics/flags/draft-inv.png
/usr/share/horde/imp/themes/default/graphics/flags/draft.png
/usr/share/horde/imp/themes/default/graphics/flags/encrypted-inv.png
/usr/share/horde/imp/themes/default/graphics/flags/encrypted.png
/usr/share/horde/imp/themes/default/graphics/flags/flagged-inv.png
/usr/share/horde/imp/themes/default/graphics/flags/flagged.png
/usr/share/horde/imp/themes/default/graphics/flags/forwarded-inv.png
/usr/share/horde/imp/themes/default/graphics/flags/forwarded.png
/usr/share/horde/imp/themes/default/graphics/flags/group-inv.png
/usr/share/horde/imp/themes/default/graphics/flags/group.png
/usr/share/horde/imp/themes/default/graphics/flags/innocent-inv.png
/usr/share/horde/imp/themes/default/graphics/flags/innocent.png
/usr/share/horde/imp/themes/default/graphics/flags/personal-inv.png
/usr/share/horde/imp/themes/default/graphics/flags/personal.png
/usr/share/horde/imp/themes/default/graphics/flags/priority_high-inv.png
/usr/share/horde/imp/themes/default/graphics/flags/priority_high.png
/usr/share/horde/imp/themes/default/graphics/flags/priority_low-inv.png
/usr/share/horde/imp/themes/default/graphics/flags/priority_low.png
/usr/share/horde/imp/themes/default/graphics/flags/seen-inv.png
/usr/share/horde/imp/themes/default/graphics/flags/seen.png
/usr/share/horde/imp/themes/default/graphics/flags/signed-inv.png
/usr/share/horde/imp/themes/default/graphics/flags/signed.png
/usr/share/horde/imp/themes/default/graphics/flags/spam-inv.png
/usr/share/horde/imp/themes/default/graphics/flags/spam.png
/usr/share/horde/imp/themes/default/graphics/flags/unseen-inv.png
/usr/share/horde/imp/themes/default/graphics/flags/unseen.png
/usr/share/horde/imp/themes/default/graphics/folders
/usr/share/horde/imp/themes/default/graphics/folders/create.png
/usr/share/horde/imp/themes/default/graphics/folders/drafts.png
/usr/share/horde/imp/themes/default/graphics/folders/edit.png
/usr/share/horde/imp/themes/default/graphics/folders/folder.png
/usr/share/horde/imp/themes/default/graphics/folders/inbox.png
/usr/share/horde/imp/themes/default/graphics/folders/minus.png
/usr/share/horde/imp/themes/default/graphics/folders/open.png
/usr/share/horde/imp/themes/default/graphics/folders/plus.png
/usr/share/horde/imp/themes/default/graphics/folders/sent.png
/usr/share/horde/imp/themes/default/graphics/folders/spam.png
/usr/share/horde/imp/themes/default/graphics/folders/trash.png
/usr/share/horde/imp/themes/default/graphics/forward.png
/usr/share/horde/imp/themes/default/graphics/forwarded.png
/usr/share/horde/imp/themes/default/graphics/gallery.png
/usr/share/horde/imp/themes/default/graphics/group.png
/usr/share/horde/imp/themes/default/graphics/ico_message_off.png
/usr/share/horde/imp/themes/default/graphics/imp.png
/usr/share/horde/imp/themes/default/graphics/info_icon.png
/usr/share/horde/imp/themes/default/graphics/innocent.png
/usr/share/horde/imp/themes/default/graphics/locked-inv.png
/usr/share/horde/imp/themes/default/graphics/locked.png
/usr/share/horde/imp/themes/default/graphics/logo.png
/usr/share/horde/imp/themes/default/graphics/logout.png
/usr/share/horde/imp/themes/default/graphics/message_source.png
/usr/share/horde/imp/themes/default/graphics/mime
/usr/share/horde/imp/themes/default/graphics/mime/apple.png
/usr/share/horde/imp/themes/default/graphics/mime/compressed.png
/usr/share/horde/imp/themes/default/graphics/mime/itip.png
/usr/share/horde/imp/themes/default/graphics/mini-error.png
/usr/share/horde/imp/themes/default/graphics/nav
/usr/share/horde/imp/themes/default/graphics/nav/first-grey.png
/usr/share/horde/imp/themes/default/graphics/nav/first.png
/usr/share/horde/imp/themes/default/graphics/nav/last-grey.png
/usr/share/horde/imp/themes/default/graphics/nav/last.png
/usr/share/horde/imp/themes/default/graphics/nav/left-grey.png
/usr/share/horde/imp/themes/default/graphics/nav/left.png
/usr/share/horde/imp/themes/default/graphics/nav/right-grey.png
/usr/share/horde/imp/themes/default/graphics/nav/right.png
/usr/share/horde/imp/themes/default/graphics/newmail.png
/usr/share/horde/imp/themes/default/graphics/newwin.png
/usr/share/horde/imp/themes/default/graphics/plus.png
/usr/share/horde/imp/themes/default/graphics/popdown.png
/usr/share/horde/imp/themes/default/graphics/prefs.png
/usr/share/horde/imp/themes/default/graphics/preview.png
/usr/share/horde/imp/themes/default/graphics/print.png
/usr/share/horde/imp/themes/default/graphics/reload.gif
/usr/share/horde/imp/themes/default/graphics/reload.png
/usr/share/horde/imp/themes/default/graphics/reply.png
/usr/share/horde/imp/themes/default/graphics/replyall.png
/usr/share/horde/imp/themes/default/graphics/sbcursor_bottom.png
/usr/share/horde/imp/themes/default/graphics/sbcursor_top.png
/usr/share/horde/imp/themes/default/graphics/scroller.png
/usr/share/horde/imp/themes/default/graphics/scroller_back.png
/usr/share/horde/imp/themes/default/graphics/search.png
/usr/share/horde/imp/themes/default/graphics/seen.png
/usr/share/horde/imp/themes/default/graphics/shared.png
/usr/share/horde/imp/themes/default/graphics/sortdown.png
/usr/share/horde/imp/themes/default/graphics/sortup.png
/usr/share/horde/imp/themes/default/graphics/spacer_red.png
/usr/share/horde/imp/themes/default/graphics/spam.png
/usr/share/horde/imp/themes/default/graphics/spellcheck.png
/usr/share/horde/imp/themes/default/graphics/thread.png
/usr/share/horde/imp/themes/default/graphics/undelete.png
/usr/share/horde/imp/themes/default/graphics/unknown_contact.jpg
/usr/share/horde/imp/themes/default/graphics/unseen.png
/usr/share/horde/imp/themes/default/graphics/warning.png
/usr/share/horde/imp/themes/default/graphics/whitelist.png
/usr/share/horde/imp/themes/default/mime.css
/usr/share/horde/imp/themes/default/minimal
/usr/share/horde/imp/themes/default/minimal/screen.css
/usr/share/horde/imp/themes/default/rtl.css
/usr/share/horde/imp/themes/default/screen.css
/usr/share/horde/imp/themes/default/smartmobile
/usr/share/horde/imp/themes/default/smartmobile/screen.css
/usr/share/horde/imp/view.php
/usr/share/tests/pear/imp
/usr/share/tests/pear/imp/Imp
/usr/share/tests/pear/imp/Imp/AllTests.php
/usr/share/tests/pear/imp/Imp/Autoload.php
/usr/share/tests/pear/imp/Imp/Stub
/usr/share/tests/pear/imp/Imp/Stub/HtmlViewer.php
/usr/share/tests/pear/imp/Imp/Stub/Imap.php
/usr/share/tests/pear/imp/Imp/Stub/ItipRequest.php
/usr/share/tests/pear/imp/Imp/Unit
/usr/share/tests/pear/imp/Imp/Unit/ComposeTest.php
/usr/share/tests/pear/imp/Imp/Unit/MboxParseTest.php
/usr/share/tests/pear/imp/Imp/Unit/Mime
/usr/share/tests/pear/imp/Imp/Unit/Mime/Viewer
/usr/share/tests/pear/imp/Imp/Unit/Mime/Viewer/HtmlTest.php
/usr/share/tests/pear/imp/Imp/Unit/Mime/Viewer/ItipTest.php
/usr/share/tests/pear/imp/Imp/Unit/QuotaTest.php
/usr/share/tests/pear/imp/Imp/bootstrap.php
/usr/share/tests/pear/imp/Imp/fixtures
/usr/share/tests/pear/imp/Imp/fixtures/test.eml
/usr/share/tests/pear/imp/Imp/fixtures/test.mbox
/usr/share/tests/pear/imp/Imp/phpunit.xml
/var/lib/pear/pkgxml/php-horde-imp.xml
Konfiguration des Backend-/IMAP-Server
Neben der Konfiguration der Anwendung selbst, müssen wir der Anwendung IMP auch noch mitteilen, wie es sich zum MDA1) also unserem Dovecot IMAP-Server verbinden soll.
Die Authentifizierung erfolgt für das Horde-Framework direkt gegen die mySQL-Datenbank von Postfix-Admin , in dem die Konfiguration unserer virtuellen Domänen mit ihren Aliasen und Postkörben vorhgehalten wird.
Die mitgelieferte Konfigurationsdatei backends.php lassen wir unangetastet. Die Konfiguration nehmen wir über die lokale Kopie backends.local.php vor.
# cp -a /usr/share/horde/imp/config/backends.php /usr/share/horde/imp/config/backends.local.php
Als erstes deaktivieren wir den ersten Standardeintrag und ergänzen dann den Eintrag für die Anbindung an unseren Dovecot-IMAP-Server.
# vim /usr/share/horde/imp/config/backends.local.php
- /usr/share/horde/imp/config/backends.local.php
/** * This file specifies which mail servers IMP can login to. * * IMPORTANT: DO NOT EDIT THIS FILE! * Local overrides MUST be placed in backends.local.php or backends.d/. * If the 'vhosts' setting has been enabled in Horde's configuration, you can * use backends-servername.php. * * Example configuration file that sets a different server name than localhost * for the IMAP server: * * <?php * $servers['imap']['hostspec'] = 'imap.example.com'; * * Example configuration file that enables the advanced IMAP server in favor of * the simple server and enables 'hordeauth': * * <?php * $servers['imap']['disabled'] = true; * $servers['advanced']['disabled'] = false; * $servers['advanced']['hordeauth'] = true; * * * Properties that can be set for each server: * =========================================== * * disabled: (boolean) If true, the config entry is disabled. * * name: (string) This is the name displayed in the server list on the login * screen. * * hostspec: (string) The hostname/IP address of the mail server to connect to. * * hordeauth: (mixed) Use Horde authentication? One of: * - true: [DEFAULT] IMP will attempt to use the user's existing * credentials (the username/password they used to log in to * Horde with) to login to this server. * Everything after and including the first @ in the username * will be stripped off before attempting authentication. * - 'full': The username will be used unmodified. * - false: Don't use Horde authentication; always require separate login. * * protocol: (string) The server protocol. One of: * - imap: [DEFAULT] IMAP. Requires a IMAP4rev1 (RFC 3501) compliant * server. * - pop: POP3. Requires a POP3 (RFC 1939) compliant server. All * mailbox options will be disabled (POP3 does not support * mailboxes). Other advanced functions will also be disabled * (e.g. caching, searching, sorting). * * secure: (mixed) Security method used to connect to the server. One of: * - 'ssl': [DEPRECATED; see below] Use SSL to connect to the server. * - 'tls': [DEFAULT on IMAP; RECOMMENDED] Use TLS to connect to the * server. * - false: [DEFAULT on POP3; NOT RECOMMENED] Do not use any encryption. * * The 'ssl' and 'tls' options will only work if you've compiled PHP * with SSL support and the mail server supports secure connections. * * The use of 'ssl' is STRONGLY DISCOURAGED. If a secure connection * is needed, 'tls' should be used and the connection should be made * to the base protocol port (110 for POP3, 143 for IMAP). * See: http://wiki2.dovecot.org/SSL * * port: (integer) The port that the mail service/protocol you selected runs * on. Default values: * - imap (unsecure or w/TLS): 143 * - imap (w/SSL): 993 (DEPRECATED - use TLS on port 143) * - pop (unsecure or w/TLS): 110 * - pop (w/SSL): 995 (DEPRECATED - use TLS on port 110) * * maildomain: (string) What to put after the @ when sending mail. This * setting is generally useful when the sending host is different from the * mail receiving host. This setting will also be used to complete * unqualified addresses when composing mail. E.g. If you want all sent * messages to look like: * * From: user@example.com * * set 'maildomain' to 'example.com'. * * cache: (mixed) Enables IMAP caching for the server. * * Caching is HIGHLY RECOMMENDED. (Do note that if your IMAP server does not * support the CONDSTORE and/or QRESYNC IMAP extensions, flags changed by * another mail agent while the IMP session is active will not be updated.) * * The following values are recognized: * - false: Caching is disabled (DEFAULT) * - true: Caching is enabled using the Horde cache (configured in * horde/config/conf.php). (This option is DEPRECATED; use one of * the below options instead.) * - 'cache': Caching is enabled using the Horde cache (configured in * horde/config/conf.php). It is recommended to use either * 'hashtable', 'nosql', or 'sql' instead, as these backends * have better performance. * The 'cache_lifetime' parameter (integer) can be specified * to define the lifetime of the cached message data. * - 'hashtable': Caching is enabled using the Horde HashTable driver * (configured in horde/config/conf.php). * The 'cache_lifetime' parameter (integer) can be * specified to define the lifetime of the cached message * data. * - 'nosql': Caching is enabled using the Horde NoSQL database * (configured in horde/config/conf.php). * - 'sql': Caching is enabled using the Horde SQL database (configured in * horde/config/conf.php). * - A Horde_Imap_Client_Cache_Backend object: Directly configure the * caching backend to use. For * advanced users only. * * quota: (array) Use this if you want to display a user's quota status. Set * to an empty value to disable quota status (DEFAULT). * * To enable, set the 'driver' key to the name of the driver. The 'params' * key can contain optional configuration parameters. * * These 'params' keys are available for ALL drivers: * - hide_when_unlimited: (boolean) True if you want to hide quota * output when the server reports an unlimited * quota. * - interval: (integer) Update quota information in the UI at this * interval (in seconds). Defaults to 15 minutes. * - unit: (string) What storage unit the quota messages should be * displayed in. One of: * - GB * - MB [DEFAULT] * - KB * * These are the available drivers, along with their optional parameters: * - hook: Use the quota hook to handle quotas (see imp/config/hooks.php). * All parameters defined for this driver will be passed to the * quota hook function. * - imap: Use the IMAP QUOTA extension to handle quotas. The IMAP server * server must support the QUOTAROOT command to use this driver. * This is the RECOMMENDED way of handling quotas. * * smtp: (array) SMTP configuration parameters. * * For configuration parameters marked with a [*] below, the Horde-wide SMTP * configuration is used by default. * * If allowing access to external mail servers (e.g. Gmail), you almost * certainly will want to override the defaults to specify the foreign SMTP * server used to send messages from that given mail domain. * * NOTE: By default, IMP will use the authentication credentials used to * login to the current backend. To use the credentials specified by the * Horde-wide SMTP configuration, 'horde_auth' must be true (see below). * * These configuration parameters are available: * - auth: [*] (integer|boolean) Authentication method to use. Set to * boolean true to choose the best available authenticate method * (RECOMMENDED). * - debug: (string) If set, enables SMTP debugging. See the 'debug' * parameter below (under the 'Debugging Properties' header) * for acceptable values. * - horde_auth: (boolean) If true, populates the 'password' and * 'username' parameters with the authentication credentials * used by the Horde-wide SMTP configuration (only if those * fields are not defined for this backend in IMP). * - host: [*] (string) SMTP server host. * - lmtp: [*] (boolean) If true, the server uses the LMTP protocol. * - localhost: [*] (string) The local hostname. * - password: (string) Password to use for SMTP server authentication. * - port: [*] (integer) SMTP server port. * - username: (string) Username to use for SMTP server authentication. * * spam: (array) Spam reporting configuration. This array can contain two * keys - 'innocent' and 'spam' - that defines the behavior when a user * flags a message with one of these actions. * * The 'display' option (boolean) behaves as follows: * - innocent: If true, the innocent action only appears in the user's * spam mailbox (default). If false, the action appears in * all mailboxes. * - spam: If false, the spam action appears in all mailboxes other than * the user's spam mailbox (default). If true, the action appears * in all mailboxes. * * These placeholders are available in the options marked *EXPANDABLE* below * and will be expanded at run-time: * - %u: The Horde username. * - %l: The short username (no domain information). * - %d: The domain name. * * The following drivers are available (at least one driver must be * configured for the spam options to appear in the UI): * * + Email reporting * - email: (string) The e-mail address to use for reporting. * - email_format: (string) Either 'digest' or 'redirect'. * - digest: [DEFAULT; RECOMMENDED] Packages the raw data of all * messages reported by the user in their marking action and * sends to the reporting e-mail address in a single * multipart/digest message. * - redirect: Redirects the message to the reporting e-mail address * Note that this alters the original message's headers * and may break embedded spam reporting signature * information contained in the original message. * * + Null reporting * - null: (boolean) Whether the action should be considered to be * successful or not. This driver can be used to trigger * post-reporting spam actions (i.e. deleting/moving messages) * if this value is true and no other drivers are configured. * * + Program reporting * - program: (string) An external program to report the spam message * to. Messages will be reported to the program via standard * input. * * * Properties that only apply to IMAP servers: * =========================================== * * acl: (boolean) Access Control Lists (ACLs). One of: * - true: Enable ACLs. (Not all IMAP servers support this feature). * - false: [DEFAULT] Disable ACLs. * * admin: (array) Use this if you want to enable mailbox management for * administrators via Horde's user administration interface. The mailbox * management gets enabled if you let IMP handle the Horde authentication * the 'application' authentication driver. Your IMAP server needs to * support mailbox management via IMAP commands. * * Do not define this value if you do not want mailbox management [DEFAULT]. * * The following parameters are available: * - password: (string) The admin user's password. * - user: (string) The admin user. * - userhierarchy: (string) The hierarchy where user mailboxes are * stored. * * autocreate_special: (boolean) If true, automatically create special * mailboxes on login (see 'special_mboxes')? * * special_mboxes: (array) The list of mailbox names to use for special * mailboxes. These values override the default preference values for a * backend. * * The array keys are the special mailbox type, the array values are the * IMAP mailbox name (UTF-8) to use on the server. Available keys: * - IMP_Mailbox::MBOX_DRAFTS * - IMP_Mailbox::MBOX_SENT * - IMP_Mailbox::MBOX_SPAM * - IMP_Mailbox::MBOX_TEMPLATES * - IMP_Mailbox::MBOX_TRASH * * It is also possible to define localized special mailboxes. To do so, use * the array key IMP_Mailbox::MBOX_USERSPECIAL and list the local special * mailboxes in an array, with keys as the IMAP mailbox name (in UTF-8) and * values as the mailbox display label. * * * Debugging properties: * ===================== * * debug: (string) If set, will output debug information about the * client/server communication. The value can be any PHP supported wrapper * that can be opened via PHP's fopen() command. This setting should not be * enabled by default on production servers, since the log file will quickly * grow very large. * * Example: To output to a file, provide the full path to the file (a bare * string is interpreted by PHP to be a filename). This file must be * writable by the PHP process. * * debug_raw: (boolean) By default, debugging will only output a short summary * of message body content sent to and received from the server. If you want * the debug stream to output the full, raw data of the client/server * communication, set this option to true. * * * Advanced properties: * ==================== * * *** The following options should NOT be set unless you REALLY know what *** * *** you are doing! FOR MOST PEOPLE, AUTO-DETECTION OF THESE PARAMETERS *** * *** (the default if the parameters are not set) SHOULD BE USED! *** * * capability_ignore: [IMAP only] (array) A list of IMAP capabilites to * ignore, even if they are supported on the server. The capability names * should be in all capitals. This option may be useful, for example, if it * is known that a certain capability is buggy on the given server. * Otherwise, all available and supported IMAP capabilities will be (and * should be) used. * * comparator: [IMAP only] (string) The search comparator to use instead of * the default IMAP server comparator (e.g. for sorting text fields). See * RFC 4790 [3.1] - "collation-id" - for the format. Your IMAP server must * support the I18NLEVEL extension. By default, the server default * comparator is used. * * id: [IMAP only] (array) Send ID information to the IMAP server. This must * be an array with the keys being the fields to send and the values being * the associated values. Your IMAP server must support the ID extension. * See RFC 2971 [3.3] for a list of defined field values. * * import_limit: [IMAP only] (integer) The maximum number of messages a user * can import. Importing large mailboxes via the IMAP APPEND command is * potentially a resource-intensive operation, and some IMAP servers (e.g. * Dovecot 2.2) can be extremely slow in importing. By default, limit * importing to 2500 messages. Set this to 0 to enforce no message limit. * * lang: [IMAP only] (array) A list of languages (in priority order) to be * used to display human readable messages returned by the IMAP server. Your * IMAP server must support the LANGUAGE extension. By default, IMAP * messages are output in the IMAP server default language. * * namespace: [IMAP only] (array) The list of namespaces that exist on the * server. Example: * * array('#shared/', '#news/', '#public/') * * This parameter should only be used if you want to allow access to names * namespaces that may not be publicly advertised by the IMAP server (see * RFC 2342 [3]). These additional namespaces will be ADDED to the list of * available namespaces returned by the server. * * preferred: (string | array) Useful if you want to use the same backends.php * file for different machines. If the hostname of the IMP machine is * identical to one of those in the preferred list, then that entry will be * selected by default on the login screen. Otherwise the first entry in the * list is selected. * * sort_force: (boolean) By default, IMP only allows sorting by criteria * other than arrival time if using IMAP and the remote IMAP server supports * the SORT extension (RFC 5256). If this setting is true, IMP will * implement sorting on the web server. However, this requires that the * selected sort criteria be downloaded from the remote server for EVERY * message in a mailbox before the mailbox can be displayed. For mailboxes * that contain more than a few hundred messages, this can be a tremendously * expensive operation. Enable sorting on these installations at your peril. * * thread: [IMAP only] (string) Set the preferred thread sort algorithm. This * algorithm must be supported by the remote server. By default, IMP * attempts to use REFERENCES sorting and, if this is not available, will * fallback to ORDEREDSUBJECT sorting performed by Horde on the local server. * * timeout: (integer) Set the server timeout (in seconds). */ /* Example configurations: */ // IMAP server $servers['imap'] = array( // ENABLED by default; will connect to IMAP port on local server // Django : 2014-09-11 // default: 'disabled' => false, 'disabled' => true, 'name' => 'IMAP Server', 'hostspec' => 'localhost', 'hordeauth' => false, 'protocol' => 'imap', 'port' => 143, // Plaintext logins are disabled by default on IMAP servers (see RFC 3501 // [6.2.3]), so TLS is the only guaranteed authentication available by // default. 'secure' => 'tls', ); // POP3 server $servers['pop'] = array( // Disabled by default 'disabled' => true, 'name' => 'POP3 Server', 'hostspec' => 'localhost', 'hordeauth' => false, 'protocol' => 'pop3', 'port' => 110, // Default to secure TLS authentication by default (see RFC 2595 [4]). 'secure' => 'tls', ); // Advanced example - mainly here to demonstrate the syntax of all available // options. $servers['advanced'] = array( // Disabled by default // Django : 2014-09-11 // default: 'disabled' => true, 'disabled' => false, // default: 'name' => 'Advanced IMAP Server', 'name' => 'Advanced Dovecot IMAP Server', // default: 'hostspec' => 'localhost', 'hostspec' => 'imap.dmz.nausch.org', // default: 'hordeauth' => false, 'hordeauth' => 'full', 'protocol' => 'imap', 'port' => 143, 'secure' => 'tls', // default: 'maildomain' => '', 'maildomain' => 'nausch.org', 'smtp' => array( // 'auth' => true, // 'debug' => false, // 'horde_auth' => false, // 'host' => 'smtp.example.com', // 'lmtp' => false, // 'localhost' => 'localhost', // 'password' => null, // /* Mail from a MUA SHOULD be sent via the mail submission port (587) // * rather than the MTA port (25). (See RFC 6409/STD 72). // * Note that mail submission REQUIRES some method of authentication // * (whether explicit user/password credentials or configuring the // * mail submission agent to automatically authenticate this host // * based on the network location). */ // 'port' => 587, // 'username' => null // default: unset 'host' => 'smtp.dmz.nausch.org', 'localhost' => 'vml000097.dmz.nausch.org', 'port' => 25, ), 'spam' => array( // 'innocent' => array( // 'display' => true, // // // Email reporting driver // 'email' => null, // 'email_format' => 'digest', // // // Null reporting driver // 'null' => true, // // // Program reporting driver // 'program' => null // ), // 'spam' => array( // 'display' => false, // // // Email reporting driver // 'email' => null, // 'email_format' => 'digest', // // // Null reporting driver // 'null' => true, // // // Program reporting driver // 'program' => null // ), // // It is possible to directly define additional spam drivers. // // The 'drivers' array should contain a list of driver objects // // (these classes must implement the IMP_Spam_Base class). // 'drivers' => array( // new IMP_Example_Spam_Driver() // ) ), 'admin' => array( // 'user' => 'cyrus', // 'password' => 'cyrus_pass', // 'userhierarchy' => 'user.' ), 'acl' => true, 'cache' => false, // 'debug' => '/tmp/imp_imap.log', // 'debug_raw' => false, 'quota' => array( 'driver' => 'imap', 'params' => array( // default : 'hide_when_unlimited' => true, 'hide_when_unlimited' => false, // default : 'unit' => 'MB' 'unit' => 'MB', // default : unset 'format' => array('short' => 'Quota Status: %.0f%% bei einer Belegung von %.0f %s') ) ), 'special_mboxes' => array( // IMP_Mailbox::MBOX_DRAFTS => 'Drafts', // IMP_Mailbox::MBOX_SENT => 'Sent', // IMP_Mailbox::MBOX_SPAM => 'Spam', // IMP_Mailbox::MBOX_TEMPLATES => 'Templates', // IMP_Mailbox::MBOX_TRASH => 'Trash', // IMP_Mailbox::MBOX_USERSPECIAL => array( // 'Example' => _("Example Special Mailbox") // ) ), 'autocreate_special' => false, );
Damit nun die Anwendung IMP die Authentifizierung vornehmen kann ist noch eine Änderung am Authentication-Modul vorzunehmen. Dies wird am Ende dieses Kapitel beschrieben.
Konfiguration über die WEB-GUI
Applikation IMP
Die Konfiguration der Applikation IMP erfolgt dann über die GUI des Web-Frameworks. Dazu rufen wir unseren angelegten VHOST im Webbrowser auf.
$ firefox https://horde.sec-mail.guru/admin/config/
Da wir die Anwendung IMP noch nicht konfiguriert haben und auch die nötigen mySQL-Datenbanktabellen angelegt haben, sind die beiden Fehlermeldungen normal.
Als erstes legen wir die notwendigen Datenbanktabellen an. Hierzu klicken wir auf den Punkt Update all DB schemas.
Um zur Konfiguration von IMP zu gelangen, klicken wir nun auf den Punkt Webmail (imp).
Auf den nun zur Verfügung stehenden Reitern, erfolgt die Konfiguration der Horde-Applikation IMP.
User Capabilities and Constraints
$conf[user][allow_view_source] [✔]
Server
$conf[server][server_list] None
Compose
Attachments
$conf[compose][use_vfs] [ ] $conf[compose][link_attachments] Yes $conf[compose][link_attachments_notify] [✔] $conf[compose][link_attach_threshold] 5242880 $conf[compose][link_attach_size_limit] 0 $conf[compose][attach_size_limit] 0 $conf[compose][attach_count_limit] 0
Message Replies
$conf[compose][reply_limit] 200000
Address Autocompletion
$conf[compose][ac_threshold] 3
HTML Signature
$conf[compose][htmlsig_img_size] 30000
PGP Settings
$conf[pgp][keylength] 4096
Mail Response History
$conf[maillog][driver] Horde History
Compose Log
$conf[sentmail][driver] SQL $conf[sentmail][params][threshold] 60 $conf[sentmail][params][limit_period] 24 $conf[sentmail][params][driverconfig] Horde defaults $conf[sentmail][params][table] imp_sentmail
Contacts Images
$conf[contactsimage][backends] Horde address book Country Flag based on Hostname of sender
Other Applications
$conf[tasklist][use_tasklist] [✔] $conf[notepad][use_notepad] [✔]
Am Ende unserer Konfigurationsarbeit, sichern wir die Konfiguration mit einem Klick auf die Schaltfläche .
Horde Framework
Die Authentifizierung erfolgt für das Horde-Framework direkt gegen die mySQL-Datenbank von Postfix-Admin , in dem die Konfiguration unserer virtuellen Domänen mit ihren Aliasen und Postkörben vorhgehalten wird. Dafür passen wir jetzt die Authentication Settings des Horde Framworks, über die WEB-GUI an. Die Einstellungen erreichen wir wie folgt:
$firefox https://horde.sec-mail.guru/admin/config/
Da es bei einem Mailserver mit vielen virtuellen Domänen bei mehrere Administratoren schnell schwierig wird, den Überblick zu behalten, ist nichts Neues. Aus diesem Grund haben wir uns bei der Installation und Konfiguration unseres Dovecot IMAP-Servers auf die Datenhaltung in einer mySQL-Datenbank entschieden. Die Pflege dieser Daten greifen wir primär auf Postfixadmin.
Was liegt also näher, als daß wir unserem Horde-Administrator Daten aus der mySQL-Datenbank bei der Konfiguration der Hode-Nutzerkonten zur Verfügung stellen.
Auf dem Reiter Authentication passen wir nun die Einstellungen so an, dass Horde bei der Authentifizierung der Nutzer die mySQL-Datenbank von Postfixadmin nutzt.
Die hierzu notwendigen Einstellungen haben wir bei der Definition unseres MDAs2) vorgenommen.
Reiter Authentication
Authentication Settings
$conf[auth][admins] <eMail-Adresse(n) des/(r) Admins> $conf[auth][checkip] [✔] $conf[auth][checkbrowser] [✔] $conf[auth][resetpassword] [✔] $conf[auth][alternate_login] false $conf[auth][redirect_on_logout] false $conf[auth][list_users] Show an input field $conf[auth][driver] SQL authentication w/custom made-queries $conf[auth][params][phptype] MySQL (mysqli) $conf[auth][params][protocol] TCP/IP $conf[auth][params][hostspec] mysql.dmz.nausch.org $conf[auth][params][port] 3306 $conf[auth][params][username] pfadmin-dbuser $conf[auth][params][password] rbgsDK39DeM2b2btx9iMHfzd $conf[auth][params][database] postfix $conf[auth][params][query_auth] SELECT * FROM mailbox WHERE username = \L AND password =\P $conf[auth][params][query_add] INSERT INTO mailbox (username, password, name, maildir, quota, local_part, domain, created, modified, active) VALUES ( \L, \P, '', CONCAT(SUBSTRING_INDEX(\L, '@', -1), '/', SUBSTRING_INDEX(\L, '@', 1), '/'), '5120000000', SUBSTRING_INDEX(\L, '@', 1), SUBSTRING_INDEX(\L, '@', -1), now(), now(), '1') $conf[auth][params][query_getpw] SELECT password FROM mailbox WHERE username = \L $conf[auth][params][query_update] UPDATE mailbox SET password = \P WHERE username = \L $conf[auth][params][query_resetpassword] $conf[auth][params][query_remove] $conf[auth][params][query_list] SELECT username FROM mailbox $conf[auth][params][query_exists] SELECT 1 FROM mailbox WHERE username = \L $conf[auth][params][encryption] plain $conf[auth][params][show_encryption] [ ] $conf[auth][params][count_bad_logins] [ ] $conf[auth][params][login_block] [ ] $conf[auth][params][login_block_count 5 $conf[auth][params][login_block_time] 5
Terms of Service Agreement
$conf[tos][file]
Zum Schluß sichern wir die Konfiguration mit einem Klick auf die Schaltfläche:
Die Fehlermeldung braucht uns nicht zu beunruhigen, da sie nur daher rührt, dass der Browser mit den alten Anmeldedaten versucht sich erneut anzumelden. Dies schlägt natürlich fehl, da wir ja gerade den Authentifizierzungsmechanismus geändert haben. Ein einfacher Reload der Seite im Browser bringt uns direkt zur Anmeldeseite von Horde.
Wir können uns nun anmelden und dabei die Authentifizierzung eines bestehnden Nutzers testen.
MIME-Types und PGP-Inline
Da wir beim Lesen unserer Nachrichten auch out-of-the-box verschlüsselte Nachrichten lesen können, müssen wir unserer Applikation IMP noch mitteilen, wie es mit PGP verschlüsselte Nachrichten umgehen soll. Bewährt hat sich hier das Scannen des Mail-Body und bei entsprechend verschlüsselten Inhalten, die PGP Passphrase abzufragen, damit die Nachricht direkt angezeigt werden kann.
Hierzu kopieren wir die Musterkonfigurationsdatei, die bei der Installation des RPMs mitgebracht wurde.
# cp -a /usr/share/horde/imp/config/mime_drivers.php /usr/share/horde/imp/config/mime_drivers.local.php
Anschließend aktivieren wir die notwendige Konfigurationsoption pgp_inline.
# vim /usr/share/horde/imp/config/mime_drivers.local.php
- /usr/share/horde/imp/config/mime_drivers.local.php
<?php /** * MIME Viewer configuration for IMP. * * Settings in this file override settings in horde/config/mime_drivers.php. * All drivers configured in that file, but not configured here, will also * be used to display MIME content. * * IMPORTANT: DO NOT EDIT THIS FILE! * Local overrides MUST be placed in mime_drivers.local.php or mime_drivers.d/. * If the 'vhosts' setting has been enabled in Horde's configuration, you can * use mime_drivers-servername.php. * * Additional settings for IMP: * - limit_inline_size: (integer) If present, limits the display of message * data inline for large messages. The value is the maximum number of * bytes that can be shown for the part; above this limit, the user will * only be able to download the part. Don't set the parameter, or set the * value to 0, to disable this check. */ $mime_drivers = array( /* Plain text viewer. */ 'plain' => array( 'inline' => true, 'handles' => array( 'application/pgp', 'text/plain', 'text/rfc822-headers' ), 'limit_inline_size' => 1048576, /* Scans the text for inline PGP data. If true, will strip this data * out of the output (and, if PGP is active, will display the * results of the PGP action). */ // Django : 2015-01-19 // default: 'pgp_inline' => false, 'pgp_inline' => true, /* If you want to scan ALL incoming text/plain messages for UUencoded * data, set the following to true. This is very performance intensive * and can take a long time for large messages. It is not recommended * (as UUencoded data is rare these days) and is disabled by * default. */ 'uudecode' => false ), /* HTML driver settings */ 'html' => array( /* NOTE: Inline HTML display is turned OFF by default. */ 'inline' => false, 'handles' => array( 'text/html' ), 'icons' => array( 'default' => 'html.png' ), 'limit_inline_size' => 1048576, /* Check for phishing exploits? */ 'phishing_check' => true ), /* Default smil driver. */ 'smil' => array( 'inline' => true, 'handles' => array( 'application/smil' ) ), /* Image display. */ 'images' => array( 'inline' => true, 'handles' => array( 'image/*' ), /* Display images inline that are less than this size (in bytes). */ 'inlinesize' => 262144, /* Display image thumbnails? */ 'thumbnails' => true, /* If displaying image thumbnails, send thumbnail data with the * base message data? This saves server accesses (1 for each thumbnail * generated in a message) at the expense that ALL thumbnails for a * message need to be generated before the message can be viewed. */ 'thumbnails_dataurl' => false ), /* Enriched text display. */ 'enriched' => array( 'inline' => true, 'handles' => array( 'text/enriched' ), 'icons' => array( 'default' => 'text.png' ) ), /* PDF display. */ 'pdf' => array( 'handles' => array( 'application/pdf', 'application/x-pdf', 'image/pdf' ), 'icons' => array( 'default' => 'pdf.png' ), /* Display PDF thumbnails? */ 'thumbnails' => true ), /* PGP (Pretty Good Privacy) display. */ 'pgp' => array( 'inline' => true, 'handles' => array( 'application/pgp-encrypted', 'application/pgp-keys', 'application/pgp-signature' ), 'icons' => array( 'default' => 'encryption.png' ) ), /* S/MIME display. */ 'smime' => array( 'inline' => true, 'handles' => array( 'application/x-pkcs7-signature', 'application/x-pkcs7-mime', 'application/pkcs7-signature', 'application/pkcs7-mime' ), 'icons' => array( 'default' => 'encryption.png' ) ), /* vCard display. */ 'vcard' => array( 'inline' => true, 'handles' => array( 'text/directory', 'text/vcard', 'text/x-vcard' ), 'icons' => array( 'default' => 'vcard.png' ) ), /* Zip file display. */ 'zip' => array( 'handles' => array( 'application/x-compressed', 'application/x-zip-compressed', 'application/zip' ), 'icons' => array( 'default' => 'compressed.png' ) ), /* Delivery status messages display. */ 'status' => array( 'inline' => true, 'handles' => array( 'message/delivery-status' ) ), /* Message Disposition Notification (MDN) display. */ 'mdn' => array( 'inline' => true, 'handles' => array( 'message/disposition-notification' ) ), /* Appledouble message display. */ 'appledouble' => array( 'inline' => true, 'handles' => array( 'multipart/appledouble' ), 'icons' => array( 'default' => 'apple.png' ) ), /* ITIP (iCalendar Transport-Independent Interoperability Protocol) * display. */ 'itip' => array( 'inline' => true, 'handles' => array( 'text/calendar', 'text/x-vcalendar' ), 'icons' => array( 'default' => 'itip.png' ), /* How event replies are handled when a user opens the message. * - false: Reply status is never automatically updated; requires * explicit action by the user. * - true: Reply status is always automatically updated. * - Array: An array of domains for which replies are always * automatically updated. All other domains require the * reply status to be explicitly updated by user action. */ 'auto_update_eventreply' => false, /* How free/busy publish data is handled when a user opens the * message. * - false: Free/busy data is never automatically updated; requires * explicit action by the user. * - true: Free/busy data is always automatically updated. * - Array: An array of domains for which free/busy data is always * automatically updated. All other domains require the * free/busy data to be explicitly updated by user * action. */ 'auto_update_fbpublish' => false, /* How free/busy replies are handled when a user opens the message. * - false: Free/busy data is never automatically updated; requires * explicit action by the user. * - true: Free/busy data is always automatically updated. * - Array: An array of domains for which free/busy data is always * automatically updated. All other domains require the * free/busy data to be explicitly updated by user * action. */ 'auto_update_fbreply' => false ), /* Audio data. */ 'audio' => array( 'handles' => array( 'audio/*' ), 'icons' => array( 'default' => 'audio.png' ) ), /* Video data. */ 'video' => array( 'handles' => array( 'video/*' ), 'icons' => array( 'default' => 'video.png' ), /* Display video thumbnails? */ 'thumbnails' => true, /* REQUIRED for thumbnails: location of ffmpeg binary. * http://ffmpeg.org/ */ 'ffmpeg' => '/usr/bin/ffmpeg' ), /* Alternative part display. * YOU SHOULD NOT NORMALLY ALTER THIS SETTING. */ 'alternative' => array( 'inline' => true, 'handles' => array( 'multipart/alternative' ) ), /* Related part display. * YOU SHOULD NOT NORMALLY ALTER THIS SETTING. */ 'related' => array( 'inline' => true, 'handles' => array( 'multipart/related' ), 'icons' => array( 'default' => 'html.png' ) ), /* Partial parts display. * YOU SHOULD NOT NORMALLY ALTER THIS SETTING. */ 'partial' => array( 'handles' => array( 'message/partial' ) ), /* Digest message (RFC 2046 [5.2.1]) display. * YOU SHOULD NOT NORMALLY ALTER THIS SETTING. */ 'rfc822' => array( 'handles' => array( 'message/rfc822', 'x-extension/eml' ) ), /* External-body (RFC 2046 [5.2.3]) display. * YOU SHOULD NOT NORMALLY ALTER THIS SETTING. */ 'externalbody' => array( 'handles' => array( 'message/external-body' ) ) );