{"id":13440478,"url":"https://github.com/cyrusimap/cyrus-imapd","last_synced_at":"2026-04-02T18:40:16.782Z","repository":{"id":37679867,"uuid":"59071965","full_name":"cyrusimap/cyrus-imapd","owner":"cyrusimap","description":"Cyrus IMAP is an email, contacts and calendar server","archived":false,"fork":false,"pushed_at":"2026-03-25T02:12:13.000Z","size":112741,"stargazers_count":625,"open_issues_count":323,"forks_count":164,"subscribers_count":22,"default_branch":"master","last_synced_at":"2026-03-26T08:27:14.585Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://cyrusimap.org","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cyrusimap.png","metadata":{"files":{"readme":"README.md","changelog":"changes/3.13.1/annotate-only-email","contributing":"CONTRIBUTING.md","funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2016-05-18T01:33:49.000Z","updated_at":"2026-03-25T02:12:19.000Z","dependencies_parsed_at":"2025-11-27T12:05:24.350Z","dependency_job_id":null,"html_url":"https://github.com/cyrusimap/cyrus-imapd","commit_stats":null,"previous_names":[],"tags_count":334,"template":false,"template_full_name":null,"purl":"pkg:github/cyrusimap/cyrus-imapd","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyrusimap%2Fcyrus-imapd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyrusimap%2Fcyrus-imapd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyrusimap%2Fcyrus-imapd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyrusimap%2Fcyrus-imapd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cyrusimap","download_url":"https://codeload.github.com/cyrusimap/cyrus-imapd/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cyrusimap%2Fcyrus-imapd/sbom","scorecard":{"id":314747,"data":{"date":"2025-08-11","repo":{"name":"github.com/cyrusimap/cyrus-imapd","commit":"7c9d99c6c3680f437a4b2b40a4bb6ffa6be5578b"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":6,"checks":[{"name":"Code-Review","score":10,"reason":"all changesets reviewed","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/docs.yaml:1","Warn: no topLevel permission defined: .github/workflows/lint.yaml:1","Warn: no topLevel permission defined: .github/workflows/main.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: COPYING:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Info: Possibly incomplete results: error parsing shell code: \"foo(\" must be followed by ): tools/translatesieve:0","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/docs.yaml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/cyrusimap/cyrus-imapd/docs.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/lint.yaml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/cyrusimap/cyrus-imapd/lint.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:51: update your workflow using https://app.stepsecurity.io/secureworkflow/cyrusimap/cyrus-imapd/main.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:98: update your workflow using https://app.stepsecurity.io/secureworkflow/cyrusimap/cyrus-imapd/main.yml/master?enable=pin","Info:   0 out of   4 GitHub-owned GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Branch-Protection","score":6,"reason":"branch protection is not maximal on development and all release branches","details":["Info: 'allow deletion' disabled on branch 'master'","Info: 'force pushes' disabled on branch 'master'","Warn: required approving review count is 1 on branch 'master'","Warn: codeowners review is not required on branch 'master'","Warn: no status checks found to merge onto branch 'master'","Info: PRs are required in order to make changes on branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Signed-Releases","score":8,"reason":"5 out of the last 5 releases have a total of 5 signed artifacts.","details":["Info: signed release artifact: cyrus-imapd-3.8.6.tar.gz.sig: https://github.com/cyrusimap/cyrus-imapd/releases/tag/cyrus-imapd-3.8.6","Info: signed release artifact: cyrus-imapd-3.12.1.tar.gz.sig: https://github.com/cyrusimap/cyrus-imapd/releases/tag/cyrus-imapd-3.12.1","Info: signed release artifact: cyrus-imapd-3.10.2.tar.gz.sig: https://github.com/cyrusimap/cyrus-imapd/releases/tag/cyrus-imapd-3.10.2","Info: signed release artifact: cyrus-imapd-3.12.0.tar.gz.sig: https://github.com/cyrusimap/cyrus-imapd/releases/tag/cyrus-imapd-3.12.0","Info: signed release artifact: cyrus-imapd-3.12.0-rc1.tar.gz.sig: https://github.com/cyrusimap/cyrus-imapd/releases/tag/cyrus-imapd-3.12.0-rc1","Warn: release artifact cyrus-imapd-3.8.6 does not have provenance: https://api.github.com/repos/cyrusimap/cyrus-imapd/releases/228231451","Warn: release artifact cyrus-imapd-3.12.1 does not have provenance: https://api.github.com/repos/cyrusimap/cyrus-imapd/releases/228231884","Warn: release artifact cyrus-imapd-3.10.2 does not have provenance: https://api.github.com/repos/cyrusimap/cyrus-imapd/releases/228231677","Warn: release artifact cyrus-imapd-3.12.0 does not have provenance: https://api.github.com/repos/cyrusimap/cyrus-imapd/releases/217472122","Warn: release artifact cyrus-imapd-3.12.0-rc1 does not have provenance: https://api.github.com/repos/cyrusimap/cyrus-imapd/releases/212677256"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-17T23:57:09.609Z","repository_id":37679867,"created_at":"2025-08-17T23:57:09.609Z","updated_at":"2025-08-17T23:57:09.609Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31313143,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-02T12:59:32.332Z","status":"ssl_error","status_checked_at":"2026-04-02T12:54:48.875Z","response_time":89,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-31T03:01:23.130Z","updated_at":"2026-04-02T18:40:16.775Z","avatar_url":"https://github.com/cyrusimap.png","language":"C","funding_links":[],"categories":["C","Sending"],"sub_categories":["IMAP/POP Server"],"readme":"\u003csup\u003emaster: \u003c/sup\u003e[![Build Status:master](https://github.com/cyrusimap/cyrus-imapd/actions/workflows/main.yml/badge.svg)](https://github.com/cyrusimap/cyrus-imapd/actions/workflows/main.yml)\n\u003csup\u003e stable(3.12): \u003c/sup\u003e[![Build Status:3.12](https://github.com/cyrusimap/cyrus-imapd/actions/workflows/main.yml/badge.svg?branch=cyrus-imapd-3.12)](https://github.com/cyrusimap/cyrus-imapd/actions/workflows/main.yml)\n\n-----\n\nWelcome\n=======\n\nThis is the Cyrus IMAP Server, developer version 3.13.  This version is under\nactive development, and is not considered \"stable\".\n\nThe current stable series is 3.12.\n\nVersions 3.8 to 3.10 still receive security updates, and some non-security bug\nfixes.\n\nWhat is Cyrus\n=============\n\nCyrus is an IMAP server, where IMAP (Internet Message Access Protocol)\nis a protocol for accessing mail.\n\nThe Cyrus IMAP server differs from other IMAP server implementations in\nthat it is generally intended to be run on \"sealed\" servers, where\nnormal users are not permitted to log in. The mailbox database is stored\nin parts of the filesystem that are private to the Cyrus IMAP system.\nAll user access to content is through JMAP, IMAP, NNTP, POP3, CalDAV, CardDAV,\nand WebDAV protocols.\n\nThe private mailbox database design gives the server large advantages in\nefficiency, scalability, and administrability. Multiple concurrent\nread/write connections to the same mailbox are permitted. The server\nsupports access control lists on mailboxes and storage quotas on mailbox\nhierarchies.\n\nCyrus goals\n===========\n\nTo be the best open source secure, scalable mail server, providing\nbreadth and depth of functionality across email, contacts, calendar\nand related messaging services!\n\nHow to get Cyrus\n================\n\nCyrus comes in three flavours:\n\n1. Our release source tarballs from https://github.com/cyrusimap/cyrus-imapd/releases\n    * Recommended for most users.\n    * These are packaged by the Cyrus team.\n    * The docs are pre-built for you in doc/html.\n    * They're definitively tagged to a particular release version with up to\n      date release notes.\n2. Raw source from https://github.com/cyrusimap/cyrus-imapd\n    * Use this if you need a version of Cyrus that contains an unreleased\n      patch/fix/feature.\n    * These bundles require a lot more dependencies to build than a packaged\n      tarball.\n3. Operating System distribution packages.\n    * Cyrus IMAP packages are shipped with every major distribution, including\n      but not limited to Fedora, Red Hat Enterprise Linux, CentOS, Scientific\n      Linux, Debian, Ubuntu, openSUSE, Gentoo, Mageia and ClearOS.\n    * Please be aware that we don't maintain these packages and as such, some\n      distributions are out of date.\n    * If you run into problems with a packed distribution, please contact the\n      source of the distribution.\n\nHow to install Cyrus from packaged releases\n===============================================\n\nPlease be sure to read the documentation. The latest version is online\nat https://www.cyrusimap.org, but the version current for this\ndistribution can be found in the doc/ subdirectory.\n\nFor Cyrus tarball releases, the basic installation instructions are:\n\n    $ ./configure\n    $ make\n    $ sudo make install\n\nFor more detailed instructions see: doc/html/imap/installation.diy.html#from-tarball \n\nHow to install Cyrus from git source\n============================================\n\nThe Cyrus source is available at:\n\nhttps://github.com/cyrusimap/cyrus-imapd\n\nFor version 3.0 or later, please first build Cyrus main dependencies\nfrom source (see next section).\n\nThe latest development code is on the branch called 'master',\nand the latest code destined for the stable release is on\nthe branch 'cyrus-imapd-$major.$minor'.  So the current\nstable release is called cyrus-imapd-3.12\n\nUnlike releases, the git repository doesn't have a pre-built\n./configure script.  You need to generate it with autoreconf:\n\n    $ autoreconf -i\n    $ ./configure\n    $ make\n    $ sudo make install\n\nGNU Make is required.  If you're not on Linux, it might be called 'gmake'.\n\nIf you need to build a local copy of the docs current to the version of the\ncode, these need to be built: see doc/README.docs\n\nRead through doc/html/imap/developer.html for more detailed instructions on\nbuilding and contributing. The latest version is online at\nhttps://www.cyrusimap.org/imap/developer.html\n\nHow to install Cyrus libraries from git source\n==============================================\nFor version 3.0 or later, it is recommended to also build the main\ndependencies from source.\n\nIf you intend to use Xapian for search, we strongly recommend to use the\ncustom Xapian fork in cyruslibs. However, if this is not an option\nin your environment, please fetch the latest stable upstream Xapian release.\nCyrus will omit custom features such as word boundary analysis for Chinese,\nJapanese and Korean.\n\nThe Cyrus dependencies source is available at:\n\nhttps://github.com/cyrusimap/cyruslibs\n\nTo build and install the libraries, run\n\n    $ ./build.sh\n\nBy default, all dependencies are installed in /usr/local/cyruslibs.\nBefore compiling Cyrus from git source, make sure to update your environment\nvariables, accordingly. For example:\n\n    $ export CYRUSLIBS=/usr/local/cyruslibs\n    $ export PKG_CONFIG_PATH=\"$CYRUSLIBS/lib/pkgconfig:$PKG_CONFIG_PATH\"\n    $ export LDFLAGS=\"-Wl,-rpath,$CYRUSLIBS/lib -Wl,-rpath,$CYRUSLIBS/lib/x86_64-linux-gnu\"\n\nFor Xapian, either make sure to add $CYRUSLIBS/bin to your PATH, or call\nCyrus ./configure script as follows:\n\n    $ ./configure XAPIAN_CONFIG=\"$CYRUSLIBS/bin/xapian-config-1.5\" [...]\n\n(If you do not use Xapian from cyruslibs, you'll need to locate the\n`xapian-config` binary and substitute `XAPIAN_CONFIG` accordingly).\n\nThen continue to install Cyrus.\n\nAre you upgrading?\n==================\n\nRead doc/html/imap/download/upgrade.html\n\nThink you've found a bug or have a new feature?\n===============================================\n\nFantastic! We'd love to hear about it, especially if you have a patch to\ncontribute.\n\nThe best way to make contributions to the project is to fork\nit on github, make your changes on your fork, and then send\na pull request.\n\nCheck https://github.com/cyrusimap/cyrus-imapd/issues/ for any\noutstanding bugs.\n\nOur guide at https://www.cyrusimap.org/support.html has all the\ninformation about how to contact us and how best to get your change accepted.\n\nLicensing Information\n=====================\n\nSee the COPYING file in this distribution.\n\nContact us\n==========\n\nWhether you have a success story to share, or a bug to file, or a\nrequest for help or a feature to add or some documentation to contribute\nor you'd just like to say hi, we want to hear from you! See\nhttps://www.cyrusimap.org/support.html for various ways you can get hold\nof us.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcyrusimap%2Fcyrus-imapd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcyrusimap%2Fcyrus-imapd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcyrusimap%2Fcyrus-imapd/lists"}