Sitemap
- What is Cyrus IMAP?
- Download
- Get Cyrus
- Release Notes
- Current Development
- Supported Verions
- Series 3.12
- Series 3.10
- Series 3.8
- Cyrus IMAP 3.8 Releases
- Cyrus IMAP 3.8.0-alpha0 Release Notes
- Cyrus IMAP 3.8.0-beta1 Release Notes
- Cyrus IMAP 3.8.0-beta2 Release Notes
- Cyrus IMAP 3.8.0-rc1 Release Notes
- Cyrus IMAP 3.8.0 Release Notes
- Cyrus IMAP 3.8.1 Release Notes
- Cyrus IMAP 3.8.2 Release Notes
- Cyrus IMAP 3.8.3 Release Notes
- Cyrus IMAP 3.8.4 Release Notes
- Cyrus IMAP 3.8.5 Release Notes
- Cyrus IMAP 3.7 Snapshots
- Cyrus IMAP 3.8 Releases
- Older Versions
- Series 3.x
- Cyrus IMAP 3.6 Releases
- Cyrus IMAP 3.6.0-beta1 Release Notes
- Cyrus IMAP 3.6.0-beta2 Release Notes
- Cyrus IMAP 3.6.0-beta3 Release Notes
- Cyrus IMAP 3.6.0-rc1 Release Notes
- Cyrus IMAP 3.6.0-rc2 Release Notes
- Cyrus IMAP 3.6.0 Release Notes
- Cyrus IMAP 3.6.1 Release Notes
- Cyrus IMAP 3.6.2 Release Notes
- Cyrus IMAP 3.6.3 Release Notes
- Cyrus IMAP 3.6.4 Release Notes
- Cyrus IMAP 3.6.5 Release Notes
- Cyrus IMAP 3.6.6 Release Notes
- Cyrus IMAP 3.6.7 Release Notes
- Cyrus IMAP 3.5 Snapshots
- Cyrus IMAP 3.4 Releases
- Cyrus IMAP 3.4.0-beta1 Release Notes
- Cyrus IMAP 3.4.0-beta2 Release Notes
- Cyrus IMAP 3.4.0-beta3 Release Notes
- Cyrus IMAP 3.4.0-rc1 Release Notes
- Cyrus IMAP 3.4.0 Release Notes
- Cyrus IMAP 3.4.1 Release Notes
- Cyrus IMAP 3.4.2 Release Notes
- Cyrus IMAP 3.4.3 Release Notes
- Cyrus IMAP 3.4.4 Release Notes
- Cyrus IMAP 3.4.5 Release Notes
- Cyrus IMAP 3.4.6 Release Notes
- Cyrus IMAP 3.4.7 Release Notes
- Cyrus IMAP 3.4.8 Release Notes
- Cyrus IMAP 3.4.9 Release Notes
- Cyrus IMAP 3.3 Snapshots
- Cyrus IMAP 3.2 Releases
- Cyrus IMAP 3.2.0-beta3 Release Notes
- Cyrus IMAP 3.2.0-beta4 Release Notes
- Cyrus IMAP 3.2.0-rc1 Release Notes
- Cyrus IMAP 3.2.0 Release Notes
- Cyrus IMAP 3.2.1 Release Notes
- Cyrus IMAP 3.2.10 Release Notes
- Cyrus IMAP 3.2.11 Release Notes
- Cyrus IMAP 3.2.12 Release Notes
- Cyrus IMAP 3.2.2 Release Notes
- Cyrus IMAP 3.2.3 Release Notes
- Cyrus IMAP 3.2.4 Release Notes
- Cyrus IMAP 3.2.5 Release Notes
- Cyrus IMAP 3.2.6 Release Notes
- Cyrus IMAP 3.2.7 Release Notes
- Cyrus IMAP 3.2.8 Release Notes
- Cyrus IMAP 3.2.9 Release Notes
- Cyrus IMAP 3.1 Snapshots
- Cyrus IMAP 3.0 Releases
- Cyrus IMAP 3.0.0 beta1 Release Notes
- Cyrus IMAP 3.0.0 beta2 Release Notes
- Cyrus IMAP 3.0.0 beta3 Release Notes
- Cyrus IMAP 3.0.0 beta4 Release Notes
- Cyrus IMAP 3.0.0 beta5 Release Notes
- Cyrus IMAP 3.0.0 beta6 Release Notes
- Cyrus IMAP 3.0.0 rc1 Release Notes
- Cyrus IMAP 3.0.0 rc2 Release Notes
- Cyrus IMAP 3.0.0 rc3 Release Notes
- Cyrus IMAP 3.0.0 rc4 Release Notes
- Cyrus IMAP 3.0.0 Release Notes
- Cyrus IMAP 3.0.1 Release Notes
- Cyrus IMAP 3.0.10 Release Notes
- Cyrus IMAP 3.0.11 Release Notes
- Cyrus IMAP 3.0.12 Release Notes
- Cyrus IMAP 3.0.13 Release Notes
- Cyrus IMAP 3.0.14 Release Notes
- Cyrus IMAP 3.0.15 Release Notes
- Cyrus IMAP 3.0.16 Release Notes
- Cyrus IMAP 3.0.17 Release Notes
- Cyrus IMAP 3.0.18 Release Notes
- Cyrus IMAP 3.0.2 Release Notes
- Cyrus IMAP 3.0.3 Release Notes
- Cyrus IMAP 3.0.4 Release Notes
- Cyrus IMAP 3.0.5 Release Notes
- Cyrus IMAP 3.0.6 Release Notes
- Cyrus IMAP 3.0.7 Release Notes
- Cyrus IMAP 3.0.8 Release Notes
- Cyrus IMAP 3.0.9 Release Notes
- Cyrus IMAP 3.6 Releases
- Series 2.x
- Cyrus IMAP 2.5 Releases
- Cyrus IMAP 2.5.0 Release Notes
- Cyrus IMAP 2.5.1 Release Notes
- Cyrus IMAP 2.5.2 Release Notes
- Cyrus IMAP 2.5.3 Release Notes
- Cyrus IMAP 2.5.4 Release Notes
- Cyrus IMAP 2.5.5 Release Notes
- Cyrus IMAP 2.5.6 Release Notes
- Cyrus IMAP 2.5.7 Release Notes
- Cyrus IMAP 2.5.8 Release Notes
- Cyrus IMAP 2.5.9 Release Notes
- Cyrus IMAP 2.5.10 Release Notes
- Cyrus IMAP 2.5.11 Release Notes
- Cyrus IMAP 2.5.12 Release Notes
- Cyrus IMAP 2.5.13 Release Notes
- Cyrus IMAP 2.5.15 Release Notes
- Cyrus IMAP 2.5.16 Release Notes
- Cyrus IMAP 2.5.17 Release Notes
- Cyrus IMAP 2.4 Releases
- Cyrus IMAP 2.4.0 Release Notes
- Cyrus IMAP 2.4.1 Release Notes
- Cyrus IMAP 2.4.2 Release Notes
- Cyrus IMAP 2.4.3 Release Notes
- Cyrus IMAP 2.4.4 Release Notes
- Cyrus IMAP 2.4.5 Release Notes
- Cyrus IMAP 2.4.6 Release Notes
- Cyrus IMAP 2.4.7 Release Notes
- Cyrus IMAP 2.4.8 Release Notes
- Cyrus IMAP 2.4.9 Release Notes
- Cyrus IMAP 2.4.10 Release Notes
- Cyrus IMAP 2.4.11 Release Notes
- Cyrus IMAP 2.4.12 Release Notes
- Cyrus IMAP 2.4.13 Release Notes
- Cyrus IMAP 2.4.14 Release Notes
- Cyrus IMAP 2.4.15 Release Notes
- Cyrus IMAP 2.4.16 Release Notes
- Cyrus IMAP 2.4.17 Release Notes
- Cyrus IMAP 2.4.17-caldav-beta1 Release Notes
- Cyrus IMAP 2.4.17-caldav-beta10 Release Notes
- Cyrus IMAP 2.4.17-caldav-beta11 Release Notes
- Cyrus IMAP 2.4.17-caldav-beta2 Release Notes
- Cyrus IMAP 2.4.17-caldav-beta3 Release Notes
- Cyrus IMAP 2.4.17-caldav-beta4 Release Notes
- Cyrus IMAP 2.4.17-caldav-beta5 Release Notes
- Cyrus IMAP 2.4.17-caldav-beta6 Release Notes
- Cyrus IMAP 2.4.17-caldav-beta7 Release Notes
- Cyrus IMAP 2.4.17-caldav-beta8 Release Notes
- Cyrus IMAP 2.4.17-caldav-beta9 Release Notes
- Cyrus IMAP 2.4.18 Release Notes
- Cyrus IMAP 2.4.19 Release Notes
- Cyrus IMAP 2.4.20 Release Notes
- Cyrus IMAP 2.4.21 Release Notes
- Cyrus IMAP 2.4.22 Release Notes
- Cyrus IMAP 2.3 Releases
- Cyrus IMAP 2.3.0 Release Notes
- Cyrus IMAP 2.3.1 Release Notes
- Cyrus IMAP 2.3.2 Release Notes
- Cyrus IMAP 2.3.3 Release Notes
- Cyrus IMAP 2.3.4 Release Notes
- Cyrus IMAP 2.3.5 Release Notes
- Cyrus IMAP 2.3.6 Release Notes
- Cyrus IMAP 2.3.7 Release Notes
- Cyrus IMAP 2.3.8 Release Notes
- Cyrus IMAP 2.3.9 Release Notes
- Cyrus IMAP 2.3.10 Release Notes
- Cyrus IMAP 2.3.11 Release Notes
- Cyrus IMAP 2.3.12 Release Notes
- Cyrus IMAP 2.3.13 Release Notes
- Cyrus IMAP 2.3.14 Release Notes
- Cyrus IMAP 2.3.15 Release Notes
- Cyrus IMAP 2.3.16 Release Notes
- Cyrus IMAP 2.3.17 Release Notes
- Cyrus IMAP 2.3.18 Release Notes
- Cyrus IMAP 2.3.19 Release Notes
- Cyrus IMAP 2.3.20 Release Notes
- Cyrus IMAP 2.2 Releases
- Cyrus IMAP 2.1 Releases
- Cyrus IMAP 2.0 Releases
- Cyrus IMAP 2.5 Releases
- Series 1.x
- Series 3.x
- Notes for Packagers
- Quickstart Guide
- Overview
- Features
- Security and Authentication
- Mailbox Management
- Message Management
- Calendar and Contact (DAV) Collection Management
- Storage
- Load Management
- Concepts
- Features
- Setup
- Compiling
- Installing Cyrus
- Install Cyrus
- Optional Components
- Setting up syslog
- Create Cyrus environment
- Launch Cyrus
- Send a test email
- Checking CardDAV and CalDAV
- Troubleshooting
- Upgrading to 3.12
- 1. Preparation
- 2. Install new 3.12 Cyrus
- 3. Shut down existing Cyrus
- 4. Backup and Copy existing data
- 5. Copy config files and update
- 6. Upgrade specific items
- 7. Start new 3.12 Cyrus and verify
- 8. Reconstruct databases and cache
- 9. Do you want any new features?
- 10. Upgrade complete
- Special note for Murder configurations
- Configuration Guide
- Deployment Scenarios
- Cyrus Murder: Server aggregation
- Cyrus Replication
- Hosted Environments
- Databases
- Overview
- File list
- Mailbox List (mailboxes.db)
- Annotations (annotations.db)
- Quotas (quotas.db)
- Duplicate Delivery (deliver.db)
- TLS cache (tls_sessions.db)
- PTS cache (ptscache.db)
- STATUS cache (statuscache.db)
- User Access (user_deny.db)
- Conversations (<userid>.conversations)
- Counters (<userid>.counters)
- News database (fetchnews.db)
- Search Indexes (cyrus.squat, <userid>.xapianactive, cyrus.indexed.db)
- Zoneinfo db (zoneinfo.db)
- Seen State (<userid>.seen)
- Subscriptions (<userid>.sub)
- Search Index DB List (<userid>.xapianactive)
- Mailbox Keys (<userid>.mboxkey)
- DAV Index (<userid>.dav)
- Storage types
- Mailbox Creation Distribution
- Known Protocol Limitations
- Authentication and Authorization
- Performance Recommendations
- Storage Considerations
- Supported Platforms and System Requirements
- Operations
- Man pages
- (5) Configuration Files
- (8) System Commands
- arbitron
- calalarmd
- chk_cyrus
- ctl_conversationsdb
- ctl_cyrusdb
- ctl_deliver
- ctl_mboxlist
- ctl_zoneinfo
- cvt_cyrusdb
- cvt_xlist_specialuse
- cyr_buildinfo
- cyr_dbtool
- cyr_deny
- cyr_df
- cyr_expire
- cyr_info
- cyr_ls
- cyr_synclog
- cyr_userseen
- cyr_virusscan
- cyr_withlock_run
- cyradm
- cyrdump
- deliver
- fetchnews
- fud
- httpd
- idled
- imapd
- ipurge
- lmtpd
- lmtpproxyd
- masssievec
- master
- mbexamine
- mbpath
- mbtool
- mkimap
- mknewsgroups
- mupdate
- nntpd
- notifyd
- pop3d
- pop3proxyd
- promstatsd
- proxyd
- ptdump
- ptexpire
- ptloader
- quota
- reconstruct
- rehash
- relocate_by_id
- sievec
- sieved
- smmapd
- squatter
- sync_client
- sync_reset
- sync_server
- timsieved
- tls_prune
- translatesieve
- unexpunge
- (1) User Commands
- Administrator Guide
- Architecture
- Management
- File & Directory Locations
- Ports and Sockets
- Access Control
- Quotas
- Cyrus Sieve
- Cyrus NNTP
- Cyrus Prot Layer
- Standard Operating Procedures
- Replication: Installation and Administration
- Mailbox Operations
- Reloading Cyrus IMAP Services
- Alternative Namespace
- Deleting and Undeleting Messages and Folders
- Running Cyrus IMAP Services on Non-Standard Ports
- Reconstructing Mailboxes
- Using Squatter for Faster IMAP SEARCH
- Splitting Metadata from Partitions
- Managing user_deny.db
- Cyrus Event Source
- Monitoring
- Mailbox Distribution
- Cyrus Murder
- Tweaking Cyrus IMAP
- Frequently Asked Questions
- Features
- Installation Problems
- Common Feature Requests
- Common Operational Questions
- How do I view ACLs on a mailbox?
- What annotations are available?
- Is it safe to put <configdirectory>/proc and <configdirectory>/lock on a tmpfs filesystem?
- How to enable core dumps
- Why can I not delete a mailbox as an admin user?
- When is What ... Deleted, Expired, Expunged or Purged?
- Why is deliver.db so large?
- I have multiple imapd-SERVICES configured and experience occasional freezes when I try to log in!
- How to run gdb on Cyrus components
- Cyrus delivers claims that the mailbox does not exist
- Why is mail being rejected with No Mailbox found due to MiXed CaSe incoming e-mail?
- Can I use MySQL (or another SQL database) as the primary mail store?
- Why do POP3 connections take so long, but once the connection is established all is well?
- Why does reconstruct -m not work?
- Shared File Systems GPFS for high availability
- How to enable telemetry
- The process count keeps growing!
- "unable to join environment" error
- Why does Cyrus set the MAIL FROM address of the sender of vacation responses to '<>'?
- Common Interoperability Problems
- Man pages
- Developer Resources
- The Development Process
- Contributing to the documentation
- Contributing code and tests
- Getting Started
- Cyrus internals and libraries
- Releasing
- Using the Cassandane test suite
- Table of Contents
- 1. Introduction
- 2. What Is A Unit Test?
- 3. Running The Tests
- 3.1. Setting Up The Machine
- 3.2 Configure Script
- 3.3 Make
- 3.4 Using Valgrind
- 3.5 The Tests Are Failing
- 4. Adding Your Own Tests
- 4.1 Where To Put Your Tests
- 4.2 Adding A New Suite
- 4.3 Adding A Test To A Suite
- 4.4 Suite Setup And Teardown
- Cyrus Internals
- Cyrus APIs
- CyrusDB API
- The interface
- Configuration
- A full example
- Tools
- How to use CyrusDB
- Reading, Writing, & Transactions
- Gotchas!
- API Reference
- cyrusdb_init(void)
- cyrusdb_done(void)
- cyrusdb_sync(const char *backend)
- cyrusdb_open(const char *backend, const char *fname, int flags, struct db **retdb)
- cyrusdb_close(struct db *db)
- cyrusdb_fetch(struct db *db, const char *key, size_t keylen, const char **data, size_t *datalen, struct txn **tidptr)
- cyrusdb_fetchlock(struct db *db, const char *key, size_t keylen, const char **data, size_t *datalen, struct txn **tidptr)
- cyrusdb_foreach(struct db *db, const char *prefix, size_t prefixlen, foreach_p *goodp, foreach_p *procp, void *rock, struct txn **tidptr)
- cyrusdb_forone(struct db *db, const char *key, size_t keylen, foreach_p *goodp, foreach_p *procp, void *rock, struct txn **tidptr)
- cyrusdb_create(struct db *db, const char *key, size_t keylen, const char *data, size_t datalen, struct txn **tidptr)
- cyrusdb_store(struct db *db, const char *key, size_t keylen, const char *data, size_t datalen, struct txn **tidptr)
- cyrusdb_delete(struct db *db, const char *key, size_t keylen, struct txn **tidptr, int force)
- cyrusdb_commit(struct db *db, struct txn *tid)
- cyrusdb_abort(struct db *db, struct txn *tid)
- cyrusdb_dump(struct db *db, int detail)
- cyrusdb_consistent(struct db *db)
- cyrusdb API
- Intro
- Code Layout
- Configuration
- A full example
- About Transactions
- API Reference
- cyrusdb_init(void)
- cyrusdb_done(void)
- cyrusdb_sync(const char *backend)
- cyrusdb_open(const char *backend, const char *fname, int flags, struct db **retdb)
- cyrusdb_close(struct db *db)
- cyrusdb_fetch(struct db *db, const char *key, size_t keylen, const char **data, size_t *datalen, struct txn **tidptr)
- cyrusdb_fetchlock(struct db *db, const char *key, size_t keylen, const char **data, size_t *datalen, struct txn **tidptr)
- cyrusdb_foreach(struct db *db, const char *prefix, size_t prefixlen, foreach_p *goodp, foreach_p *procp, void *rock, struct txn **tidptr)
- cyrusdb_forone(struct db *db, const char *key, size_t keylen, foreach_p *goodp, foreach_p *procp, void *rock, struct txn **tidptr)
- cyrusdb_create(struct db *db, const char *key, size_t keylen, const char *data, size_t datalen, struct txn **tidptr)
- cyrusdb_store(struct db *db, const char *key, size_t keylen, const char *data, size_t datalen, struct txn **tidptr)
- cyrusdb_delete(struct db *db, const char *key, size_t keylen, struct txn **tidptr, int force)
- cyrusdb_commit(struct db *db, struct txn *tid)
- cyrusdb_abort(struct db *db, struct txn *tid)
- cyrusdb_dump(struct db *db, int detail)
- cyrusdb_consistent(struct db *db)
- Index API
- Mailbox API
- CyrusDB API
- Thoughts & Notes
- Cyrus IMAP Server: Sieve Bytecode
- Cyrus CalDAV Scheduling Flowchart
- caldav_put() - create/modify via HTTP PUT on a resource or POST (add-member) on a calendar
- caldav_delete_sched() - remove via HTTP DELETE on a resource
- caldav_post() - busytime query via HTTP POST on Scheduling Outbox
- sched_pollstatus - perform a voter response update
- sched_request() - perform an organizer request / attendee status update
- process_attendees() - create a suitable iTIP request message for each attendee
- sched_exclude() - exclude an attendee from a recurrence instance
- sched_cancel() - cancel an organizer event/task
- sched_reply() - perform an attendee reply
- trim_attendees() - remove all attendees other than the one replying
- sched_vpoll_reply() - add voter responses to VPOLL reply
- sched_decline() - decline a recurrence instance for an attendee
- clean_component() - sanitize a component for use in an iTIP message
- sched_deliver() - deliver an iTIP message to a recipient
- sched_deliver_local() - deliver an iTIP message to a local user
- deliver_merge_reply() - update an organizer resource with an attendee reply
- deliver_merge_vpoll_reply() - update an organizer resource with voter responses
- deliver_merge_request() - create/update an attendee resource with an organizer request
- deliver_merge_pollstatus() - update voter responses on a voter resource
- sched_deliver_remote() - deliver an iTIP message to a remote user
- isched_send() - deliver an iTIP message to a remote user via iSchedule (HTTP)
- imip_send() - deliver an iTIP message to a remote user via iMIP (SMTP)
- sched_busytime_query() - perform a busytime query
- busytime_query_local() - perform a busytime query on a local user
- busytime_query_remote() - perform a busytime query on a remote user
- Cyrus IMAP Server: Notes
- Cyrus IMAP Server: Prot Events
- Guidance for Developers
- Cyrus IMAP Server: Hacking
- Cyrus IMAP Server: Internationalization
- Cyrus IMAP Server: Locking
- Cyrus IMAP Server: Mailbox File Formats
- Cyrus IMAP Server: Namelocks
- Cyrus IMAP Server: prot layer
- Cyrus IMAP Server: Replication Examples
- Cyrus IMAP Server: Replication Protocol v2.4+
- Cyrus IMAP Server: Special Characters
- Cyrus IMAP Server: var directory structure
- Cyrus APIs
- The Development Process
- Support/Community
- Download