gitextract_l0u7gilb/ ├── .dockerignore ├── .editorconfig ├── .github/ │ ├── DISCUSSION_TEMPLATE/ │ │ └── issue-triage.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── config.yml │ │ └── confirmed_issue.yml │ ├── dependabot.yml │ └── workflows/ │ ├── ci.yml │ ├── scorecard.yml │ ├── test.yml │ └── trivy.yml ├── .gitignore ├── CHANGELOG.md ├── CNAME ├── CONTRIBUTING.md ├── Cargo.toml ├── Dockerfile ├── Dockerfile.build ├── LICENSES/ │ ├── AGPL-3.0-only.txt │ └── LicenseRef-SEL.txt ├── README.md ├── SECURITY.md ├── SECURITY_PROCESS.md ├── SECURITY_TEMPLATE.md ├── UPGRADING/ │ ├── v0_04.md │ ├── v0_05.md │ ├── v0_06.md │ ├── v0_07.md │ ├── v0_08.md │ ├── v0_09.md │ ├── v0_10.md │ ├── v0_11.md │ ├── v0_12.md │ ├── v0_13.md │ ├── v0_14.md │ └── v0_15.md ├── api/ │ └── v1/ │ └── openapi.yml ├── crates/ │ ├── cli/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── main.rs │ │ └── modules/ │ │ ├── account.rs │ │ ├── cli.rs │ │ ├── database.rs │ │ ├── dkim.rs │ │ ├── domain.rs │ │ ├── export.rs │ │ ├── group.rs │ │ ├── import.rs │ │ ├── list.rs │ │ ├── mod.rs │ │ ├── queue.rs │ │ └── report.rs │ ├── common/ │ │ ├── Cargo.toml │ │ ├── build.rs │ │ └── src/ │ │ ├── addresses.rs │ │ ├── auth/ │ │ │ ├── access_token.rs │ │ │ ├── mod.rs │ │ │ ├── oauth/ │ │ │ │ ├── config.rs │ │ │ │ ├── crypto.rs │ │ │ │ ├── introspect.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── oidc.rs │ │ │ │ ├── registration.rs │ │ │ │ └── token.rs │ │ │ ├── rate_limit.rs │ │ │ ├── roles.rs │ │ │ └── sasl.rs │ │ ├── config/ │ │ │ ├── groupware.rs │ │ │ ├── imap.rs │ │ │ ├── inner.rs │ │ │ ├── jmap/ │ │ │ │ ├── capabilities.rs │ │ │ │ ├── mod.rs │ │ │ │ └── settings.rs │ │ │ ├── mod.rs │ │ │ ├── network.rs │ │ │ ├── scripts.rs │ │ │ ├── server/ │ │ │ │ ├── listener.rs │ │ │ │ ├── mod.rs │ │ │ │ └── tls.rs │ │ │ ├── smtp/ │ │ │ │ ├── auth.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── queue.rs │ │ │ │ ├── report.rs │ │ │ │ ├── resolver.rs │ │ │ │ ├── session.rs │ │ │ │ └── throttle.rs │ │ │ ├── spamfilter.rs │ │ │ ├── storage.rs │ │ │ └── telemetry.rs │ │ ├── core.rs │ │ ├── dns.rs │ │ ├── enterprise/ │ │ │ ├── alerts.rs │ │ │ ├── config.rs │ │ │ ├── license.rs │ │ │ ├── llm.rs │ │ │ ├── mod.rs │ │ │ └── undelete.rs │ │ ├── expr/ │ │ │ ├── eval.rs │ │ │ ├── functions/ │ │ │ │ ├── array.rs │ │ │ │ ├── asynch.rs │ │ │ │ ├── email.rs │ │ │ │ ├── misc.rs │ │ │ │ ├── mod.rs │ │ │ │ └── text.rs │ │ │ ├── if_block.rs │ │ │ ├── mod.rs │ │ │ ├── parser.rs │ │ │ └── tokenizer.rs │ │ ├── i18n.rs │ │ ├── ipc.rs │ │ ├── lib.rs │ │ ├── listener/ │ │ │ ├── acme/ │ │ │ │ ├── cache.rs │ │ │ │ ├── directory.rs │ │ │ │ ├── jose.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── order.rs │ │ │ │ └── resolver.rs │ │ │ ├── asn.rs │ │ │ ├── blocked.rs │ │ │ ├── limiter.rs │ │ │ ├── listen.rs │ │ │ ├── mod.rs │ │ │ ├── stream.rs │ │ │ └── tls.rs │ │ ├── manager/ │ │ │ ├── backup.rs │ │ │ ├── boot.rs │ │ │ ├── config.rs │ │ │ ├── console.rs │ │ │ ├── mod.rs │ │ │ ├── reload.rs │ │ │ ├── restore.rs │ │ │ └── webadmin.rs │ │ ├── scripts/ │ │ │ ├── functions/ │ │ │ │ ├── array.rs │ │ │ │ ├── email.rs │ │ │ │ ├── header.rs │ │ │ │ ├── image.rs │ │ │ │ ├── misc.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── text.rs │ │ │ │ ├── unicode.rs │ │ │ │ └── url.rs │ │ │ ├── mod.rs │ │ │ └── plugins/ │ │ │ ├── dns.rs │ │ │ ├── exec.rs │ │ │ ├── headers.rs │ │ │ ├── http.rs │ │ │ ├── llm_prompt.rs │ │ │ ├── lookup.rs │ │ │ ├── mod.rs │ │ │ ├── query.rs │ │ │ └── text.rs │ │ ├── sharing/ │ │ │ ├── acl.rs │ │ │ ├── mod.rs │ │ │ ├── notification.rs │ │ │ └── resources.rs │ │ ├── storage/ │ │ │ ├── blob.rs │ │ │ ├── index.rs │ │ │ ├── mod.rs │ │ │ └── state.rs │ │ └── telemetry/ │ │ ├── metrics/ │ │ │ ├── mod.rs │ │ │ ├── otel.rs │ │ │ ├── prometheus.rs │ │ │ └── store.rs │ │ ├── mod.rs │ │ ├── tracers/ │ │ │ ├── journald.rs │ │ │ ├── log.rs │ │ │ ├── mod.rs │ │ │ ├── otel.rs │ │ │ ├── stdout.rs │ │ │ └── store.rs │ │ └── webhooks/ │ │ └── mod.rs │ ├── dav/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── calendar/ │ │ │ ├── copy_move.rs │ │ │ ├── delete.rs │ │ │ ├── freebusy.rs │ │ │ ├── get.rs │ │ │ ├── mkcol.rs │ │ │ ├── mod.rs │ │ │ ├── proppatch.rs │ │ │ ├── query.rs │ │ │ ├── scheduling.rs │ │ │ └── update.rs │ │ ├── card/ │ │ │ ├── copy_move.rs │ │ │ ├── delete.rs │ │ │ ├── get.rs │ │ │ ├── mkcol.rs │ │ │ ├── mod.rs │ │ │ ├── proppatch.rs │ │ │ ├── query.rs │ │ │ └── update.rs │ │ ├── common/ │ │ │ ├── acl.rs │ │ │ ├── lock.rs │ │ │ ├── mod.rs │ │ │ ├── propfind.rs │ │ │ └── uri.rs │ │ ├── file/ │ │ │ ├── copy_move.rs │ │ │ ├── delete.rs │ │ │ ├── get.rs │ │ │ ├── mkcol.rs │ │ │ ├── mod.rs │ │ │ ├── proppatch.rs │ │ │ └── update.rs │ │ ├── lib.rs │ │ ├── principal/ │ │ │ ├── matching.rs │ │ │ ├── mod.rs │ │ │ ├── propfind.rs │ │ │ └── propsearch.rs │ │ └── request.rs │ ├── dav-proto/ │ │ ├── Cargo.toml │ │ ├── resources/ │ │ │ ├── requests/ │ │ │ │ ├── acl-001.json │ │ │ │ ├── acl-001.xml │ │ │ │ ├── acl-002.json │ │ │ │ ├── acl-002.xml │ │ │ │ ├── acl-003.json │ │ │ │ ├── acl-003.xml │ │ │ │ ├── acl-004.json │ │ │ │ ├── acl-004.xml │ │ │ │ ├── lockinfo-001.json │ │ │ │ ├── lockinfo-001.xml │ │ │ │ ├── lockinfo-002.json │ │ │ │ ├── lockinfo-002.xml │ │ │ │ ├── mkcol-001.json │ │ │ │ ├── mkcol-001.xml │ │ │ │ ├── mkcol-002.json │ │ │ │ ├── mkcol-002.xml │ │ │ │ ├── mkcol-003.json │ │ │ │ ├── mkcol-003.xml │ │ │ │ ├── mkcol-004.json │ │ │ │ ├── mkcol-004.xml │ │ │ │ ├── propertyupdate-001.json │ │ │ │ ├── propertyupdate-001.xml │ │ │ │ ├── propertyupdate-002.json │ │ │ │ ├── propertyupdate-002.xml │ │ │ │ ├── propfind-001.json │ │ │ │ ├── propfind-001.xml │ │ │ │ ├── propfind-002.json │ │ │ │ ├── propfind-002.xml │ │ │ │ ├── propfind-003.json │ │ │ │ ├── propfind-003.xml │ │ │ │ ├── propfind-004.json │ │ │ │ ├── propfind-004.xml │ │ │ │ ├── propfind-005.json │ │ │ │ ├── propfind-005.xml │ │ │ │ ├── propfind-006.json │ │ │ │ ├── propfind-006.xml │ │ │ │ ├── propfind-007.json │ │ │ │ ├── propfind-007.xml │ │ │ │ ├── propfind-008.json │ │ │ │ ├── propfind-008.xml │ │ │ │ ├── propfind-009.json │ │ │ │ ├── propfind-009.xml │ │ │ │ ├── propfind-010.json │ │ │ │ ├── propfind-010.xml │ │ │ │ ├── report-001.json │ │ │ │ ├── report-001.xml │ │ │ │ ├── report-002.json │ │ │ │ ├── report-002.xml │ │ │ │ ├── report-003.json │ │ │ │ ├── report-003.xml │ │ │ │ ├── report-004.json │ │ │ │ ├── report-004.xml │ │ │ │ ├── report-005.json │ │ │ │ ├── report-005.xml │ │ │ │ ├── report-006.json │ │ │ │ ├── report-006.xml │ │ │ │ ├── report-007.json │ │ │ │ ├── report-007.xml │ │ │ │ ├── report-008.json │ │ │ │ ├── report-008.xml │ │ │ │ ├── report-009.json │ │ │ │ ├── report-009.xml │ │ │ │ ├── report-010.json │ │ │ │ ├── report-010.xml │ │ │ │ ├── report-011.json │ │ │ │ ├── report-011.xml │ │ │ │ ├── report-012.json │ │ │ │ ├── report-012.xml │ │ │ │ ├── report-013.json │ │ │ │ ├── report-013.xml │ │ │ │ ├── report-014.json │ │ │ │ ├── report-014.xml │ │ │ │ ├── report-015.json │ │ │ │ ├── report-015.xml │ │ │ │ ├── report-016.json │ │ │ │ ├── report-016.xml │ │ │ │ ├── report-017.json │ │ │ │ ├── report-017.xml │ │ │ │ ├── report-018.json │ │ │ │ ├── report-018.xml │ │ │ │ ├── report-019.json │ │ │ │ ├── report-019.xml │ │ │ │ ├── report-020.json │ │ │ │ ├── report-020.xml │ │ │ │ ├── report-021.json │ │ │ │ ├── report-021.xml │ │ │ │ ├── report-022.json │ │ │ │ ├── report-022.xml │ │ │ │ ├── report-023.json │ │ │ │ ├── report-023.xml │ │ │ │ ├── report-024.json │ │ │ │ ├── report-024.xml │ │ │ │ ├── report-025.json │ │ │ │ └── report-025.xml │ │ │ └── responses/ │ │ │ ├── 001.xml │ │ │ ├── 002.xml │ │ │ ├── 003.xml │ │ │ ├── 004.xml │ │ │ ├── 005.xml │ │ │ ├── 006.xml │ │ │ ├── 007.xml │ │ │ ├── 008.xml │ │ │ ├── 009.xml │ │ │ ├── 010.xml │ │ │ ├── 011.xml │ │ │ ├── 012.xml │ │ │ ├── 013.xml │ │ │ ├── 014.xml │ │ │ ├── 015.xml │ │ │ ├── 016.xml │ │ │ ├── 017.xml │ │ │ ├── 018.xml │ │ │ ├── 019.xml │ │ │ └── 020.xml │ │ └── src/ │ │ ├── lib.rs │ │ ├── parser/ │ │ │ ├── header.rs │ │ │ ├── mod.rs │ │ │ ├── property.rs │ │ │ └── tokenizer.rs │ │ ├── requests/ │ │ │ ├── acl.rs │ │ │ ├── lockinfo.rs │ │ │ ├── mkcol.rs │ │ │ ├── mod.rs │ │ │ ├── propertyupdate.rs │ │ │ ├── propfind.rs │ │ │ └── report.rs │ │ ├── responses/ │ │ │ ├── acl.rs │ │ │ ├── error.rs │ │ │ ├── lock.rs │ │ │ ├── mkcol.rs │ │ │ ├── mod.rs │ │ │ ├── multistatus.rs │ │ │ ├── property.rs │ │ │ ├── propstat.rs │ │ │ └── schedule.rs │ │ └── schema/ │ │ ├── mod.rs │ │ ├── property.rs │ │ ├── request.rs │ │ └── response.rs │ ├── directory/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── backend/ │ │ │ ├── imap/ │ │ │ │ ├── client.rs │ │ │ │ ├── config.rs │ │ │ │ ├── lookup.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── pool.rs │ │ │ │ └── tls.rs │ │ │ ├── internal/ │ │ │ │ ├── lookup.rs │ │ │ │ ├── manage.rs │ │ │ │ └── mod.rs │ │ │ ├── ldap/ │ │ │ │ ├── config.rs │ │ │ │ ├── lookup.rs │ │ │ │ ├── mod.rs │ │ │ │ └── pool.rs │ │ │ ├── memory/ │ │ │ │ ├── config.rs │ │ │ │ ├── lookup.rs │ │ │ │ └── mod.rs │ │ │ ├── mod.rs │ │ │ ├── oidc/ │ │ │ │ ├── config.rs │ │ │ │ ├── lookup.rs │ │ │ │ └── mod.rs │ │ │ ├── smtp/ │ │ │ │ ├── config.rs │ │ │ │ ├── lookup.rs │ │ │ │ ├── mod.rs │ │ │ │ └── pool.rs │ │ │ └── sql/ │ │ │ ├── config.rs │ │ │ ├── lookup.rs │ │ │ └── mod.rs │ │ ├── core/ │ │ │ ├── cache.rs │ │ │ ├── config.rs │ │ │ ├── dispatch.rs │ │ │ ├── mod.rs │ │ │ ├── principal.rs │ │ │ └── secret.rs │ │ └── lib.rs │ ├── email/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── cache/ │ │ │ ├── email.rs │ │ │ ├── mailbox.rs │ │ │ └── mod.rs │ │ ├── identity/ │ │ │ ├── index.rs │ │ │ └── mod.rs │ │ ├── lib.rs │ │ ├── mailbox/ │ │ │ ├── destroy.rs │ │ │ ├── index.rs │ │ │ ├── manage.rs │ │ │ └── mod.rs │ │ ├── message/ │ │ │ ├── copy.rs │ │ │ ├── crypto.rs │ │ │ ├── delete.rs │ │ │ ├── delivery.rs │ │ │ ├── index/ │ │ │ │ ├── extractors.rs │ │ │ │ ├── metadata.rs │ │ │ │ ├── mod.rs │ │ │ │ └── search.rs │ │ │ ├── ingest.rs │ │ │ ├── metadata.rs │ │ │ └── mod.rs │ │ ├── push/ │ │ │ └── mod.rs │ │ ├── sieve/ │ │ │ ├── delete.rs │ │ │ ├── index.rs │ │ │ ├── ingest.rs │ │ │ └── mod.rs │ │ └── submission/ │ │ ├── index.rs │ │ └── mod.rs │ ├── groupware/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── cache/ │ │ │ ├── calcard.rs │ │ │ ├── file.rs │ │ │ └── mod.rs │ │ ├── calendar/ │ │ │ ├── alarm.rs │ │ │ ├── dates.rs │ │ │ ├── expand.rs │ │ │ ├── index.rs │ │ │ ├── itip.rs │ │ │ ├── mod.rs │ │ │ └── storage.rs │ │ ├── contact/ │ │ │ ├── index.rs │ │ │ ├── mod.rs │ │ │ └── storage.rs │ │ ├── file/ │ │ │ ├── index.rs │ │ │ ├── mod.rs │ │ │ └── storage.rs │ │ ├── lib.rs │ │ └── scheduling/ │ │ ├── attendee.rs │ │ ├── event_cancel.rs │ │ ├── event_create.rs │ │ ├── event_update.rs │ │ ├── inbound.rs │ │ ├── itip.rs │ │ ├── mod.rs │ │ ├── organizer.rs │ │ └── snapshot.rs │ ├── http/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── auth/ │ │ │ ├── authenticate.rs │ │ │ ├── mod.rs │ │ │ └── oauth/ │ │ │ ├── auth.rs │ │ │ ├── mod.rs │ │ │ ├── openid.rs │ │ │ ├── registration.rs │ │ │ └── token.rs │ │ ├── autoconfig/ │ │ │ └── mod.rs │ │ ├── form/ │ │ │ └── mod.rs │ │ ├── lib.rs │ │ ├── management/ │ │ │ ├── crypto.rs │ │ │ ├── dkim.rs │ │ │ ├── dns.rs │ │ │ ├── enterprise/ │ │ │ │ ├── mod.rs │ │ │ │ ├── telemetry.rs │ │ │ │ └── undelete.rs │ │ │ ├── log.rs │ │ │ ├── mod.rs │ │ │ ├── principal.rs │ │ │ ├── queue.rs │ │ │ ├── reload.rs │ │ │ ├── report.rs │ │ │ ├── settings.rs │ │ │ ├── spam.rs │ │ │ ├── stores.rs │ │ │ └── troubleshoot.rs │ │ └── request.rs │ ├── http-proto/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── context.rs │ │ ├── lib.rs │ │ ├── request.rs │ │ └── response.rs │ ├── imap/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── core/ │ │ │ ├── client.rs │ │ │ ├── mailbox.rs │ │ │ ├── message.rs │ │ │ ├── mod.rs │ │ │ └── session.rs │ │ ├── lib.rs │ │ └── op/ │ │ ├── acl.rs │ │ ├── append.rs │ │ ├── authenticate.rs │ │ ├── capability.rs │ │ ├── close.rs │ │ ├── copy_move.rs │ │ ├── create.rs │ │ ├── delete.rs │ │ ├── enable.rs │ │ ├── expunge.rs │ │ ├── fetch.rs │ │ ├── idle.rs │ │ ├── list.rs │ │ ├── login.rs │ │ ├── logout.rs │ │ ├── mod.rs │ │ ├── namespace.rs │ │ ├── noop.rs │ │ ├── quota.rs │ │ ├── rename.rs │ │ ├── search.rs │ │ ├── select.rs │ │ ├── status.rs │ │ ├── store.rs │ │ ├── subscribe.rs │ │ └── thread.rs │ ├── imap-proto/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── lib.rs │ │ ├── parser/ │ │ │ ├── acl.rs │ │ │ ├── append.rs │ │ │ ├── authenticate.rs │ │ │ ├── copy_move.rs │ │ │ ├── create.rs │ │ │ ├── delete.rs │ │ │ ├── enable.rs │ │ │ ├── fetch.rs │ │ │ ├── list.rs │ │ │ ├── login.rs │ │ │ ├── lsub.rs │ │ │ ├── mod.rs │ │ │ ├── quota.rs │ │ │ ├── rename.rs │ │ │ ├── search.rs │ │ │ ├── select.rs │ │ │ ├── sort.rs │ │ │ ├── status.rs │ │ │ ├── store.rs │ │ │ ├── subscribe.rs │ │ │ └── thread.rs │ │ ├── protocol/ │ │ │ ├── acl.rs │ │ │ ├── append.rs │ │ │ ├── authenticate.rs │ │ │ ├── capability.rs │ │ │ ├── copy_move.rs │ │ │ ├── create.rs │ │ │ ├── delete.rs │ │ │ ├── enable.rs │ │ │ ├── expunge.rs │ │ │ ├── fetch.rs │ │ │ ├── list.rs │ │ │ ├── login.rs │ │ │ ├── mod.rs │ │ │ ├── namespace.rs │ │ │ ├── quota.rs │ │ │ ├── rename.rs │ │ │ ├── search.rs │ │ │ ├── select.rs │ │ │ ├── status.rs │ │ │ ├── store.rs │ │ │ ├── subscribe.rs │ │ │ └── thread.rs │ │ ├── receiver.rs │ │ └── utf7.rs │ ├── jmap/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── addressbook/ │ │ │ ├── get.rs │ │ │ ├── mod.rs │ │ │ └── set.rs │ │ ├── api/ │ │ │ ├── acl.rs │ │ │ ├── auth.rs │ │ │ ├── event_source.rs │ │ │ ├── mod.rs │ │ │ ├── query.rs │ │ │ ├── request.rs │ │ │ └── session.rs │ │ ├── blob/ │ │ │ ├── copy.rs │ │ │ ├── download.rs │ │ │ ├── get.rs │ │ │ ├── mod.rs │ │ │ └── upload.rs │ │ ├── calendar/ │ │ │ ├── get.rs │ │ │ ├── mod.rs │ │ │ └── set.rs │ │ ├── calendar_event/ │ │ │ ├── copy.rs │ │ │ ├── get.rs │ │ │ ├── mod.rs │ │ │ ├── parse.rs │ │ │ ├── query.rs │ │ │ └── set.rs │ │ ├── calendar_event_notification/ │ │ │ ├── get.rs │ │ │ ├── mod.rs │ │ │ ├── query.rs │ │ │ └── set.rs │ │ ├── changes/ │ │ │ ├── get.rs │ │ │ ├── mod.rs │ │ │ ├── query.rs │ │ │ └── state.rs │ │ ├── contact/ │ │ │ ├── copy.rs │ │ │ ├── get.rs │ │ │ ├── mod.rs │ │ │ ├── parse.rs │ │ │ ├── query.rs │ │ │ └── set.rs │ │ ├── email/ │ │ │ ├── body.rs │ │ │ ├── copy.rs │ │ │ ├── get.rs │ │ │ ├── headers.rs │ │ │ ├── import.rs │ │ │ ├── mod.rs │ │ │ ├── parse.rs │ │ │ ├── query.rs │ │ │ ├── set.rs │ │ │ └── snippet.rs │ │ ├── file/ │ │ │ ├── get.rs │ │ │ ├── mod.rs │ │ │ ├── query.rs │ │ │ └── set.rs │ │ ├── identity/ │ │ │ ├── get.rs │ │ │ ├── mod.rs │ │ │ └── set.rs │ │ ├── lib.rs │ │ ├── mailbox/ │ │ │ ├── get.rs │ │ │ ├── mod.rs │ │ │ ├── query.rs │ │ │ └── set.rs │ │ ├── participant_identity/ │ │ │ ├── get.rs │ │ │ ├── mod.rs │ │ │ └── set.rs │ │ ├── principal/ │ │ │ ├── availability.rs │ │ │ ├── get.rs │ │ │ ├── mod.rs │ │ │ └── query.rs │ │ ├── push/ │ │ │ ├── get.rs │ │ │ ├── mod.rs │ │ │ └── set.rs │ │ ├── quota/ │ │ │ ├── get.rs │ │ │ ├── mod.rs │ │ │ └── query.rs │ │ ├── share_notification/ │ │ │ ├── get.rs │ │ │ ├── mod.rs │ │ │ ├── query.rs │ │ │ └── set.rs │ │ ├── sieve/ │ │ │ ├── get.rs │ │ │ ├── mod.rs │ │ │ ├── query.rs │ │ │ ├── set.rs │ │ │ └── validate.rs │ │ ├── submission/ │ │ │ ├── get.rs │ │ │ ├── mod.rs │ │ │ ├── query.rs │ │ │ └── set.rs │ │ ├── thread/ │ │ │ ├── get.rs │ │ │ └── mod.rs │ │ ├── vacation/ │ │ │ ├── get.rs │ │ │ ├── mod.rs │ │ │ └── set.rs │ │ └── websocket/ │ │ ├── mod.rs │ │ ├── stream.rs │ │ └── upgrade.rs │ ├── jmap-proto/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── error/ │ │ │ ├── method.rs │ │ │ ├── mod.rs │ │ │ ├── request.rs │ │ │ └── set.rs │ │ ├── lib.rs │ │ ├── method/ │ │ │ ├── availability.rs │ │ │ ├── changes.rs │ │ │ ├── copy.rs │ │ │ ├── get.rs │ │ │ ├── import.rs │ │ │ ├── lookup.rs │ │ │ ├── mod.rs │ │ │ ├── parse.rs │ │ │ ├── query.rs │ │ │ ├── query_changes.rs │ │ │ ├── search_snippet.rs │ │ │ ├── set.rs │ │ │ ├── upload.rs │ │ │ └── validate.rs │ │ ├── object/ │ │ │ ├── addressbook.rs │ │ │ ├── blob.rs │ │ │ ├── calendar.rs │ │ │ ├── calendar_event.rs │ │ │ ├── calendar_event_notification.rs │ │ │ ├── contact.rs │ │ │ ├── email.rs │ │ │ ├── email_submission.rs │ │ │ ├── file_node.rs │ │ │ ├── identity.rs │ │ │ ├── mailbox.rs │ │ │ ├── mod.rs │ │ │ ├── participant_identity.rs │ │ │ ├── principal.rs │ │ │ ├── push_subscription.rs │ │ │ ├── quota.rs │ │ │ ├── search_snippet.rs │ │ │ ├── share_notification.rs │ │ │ ├── sieve.rs │ │ │ ├── thread.rs │ │ │ └── vacation_response.rs │ │ ├── references/ │ │ │ ├── eval.rs │ │ │ ├── jsptr.rs │ │ │ ├── mod.rs │ │ │ └── resolve.rs │ │ ├── request/ │ │ │ ├── capability.rs │ │ │ ├── deserialize.rs │ │ │ ├── method.rs │ │ │ ├── mod.rs │ │ │ ├── parser.rs │ │ │ ├── reference.rs │ │ │ └── websocket.rs │ │ ├── response/ │ │ │ ├── mod.rs │ │ │ ├── serialize.rs │ │ │ └── status.rs │ │ └── types/ │ │ ├── date.rs │ │ ├── mod.rs │ │ └── state.rs │ ├── main/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── main.rs │ ├── managesieve/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── core/ │ │ │ ├── client.rs │ │ │ ├── mod.rs │ │ │ └── session.rs │ │ ├── lib.rs │ │ └── op/ │ │ ├── authenticate.rs │ │ ├── capability.rs │ │ ├── checkscript.rs │ │ ├── deletescript.rs │ │ ├── getscript.rs │ │ ├── havespace.rs │ │ ├── listscripts.rs │ │ ├── logout.rs │ │ ├── mod.rs │ │ ├── noop.rs │ │ ├── putscript.rs │ │ ├── renamescript.rs │ │ └── setactive.rs │ ├── migration/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── addressbook_v2.rs │ │ ├── blob.rs │ │ ├── calendar_v2.rs │ │ ├── changelog.rs │ │ ├── contact_v2.rs │ │ ├── email_v1.rs │ │ ├── email_v2.rs │ │ ├── encryption_v1.rs │ │ ├── encryption_v2.rs │ │ ├── event_v1.rs │ │ ├── event_v2.rs │ │ ├── identity_v1.rs │ │ ├── lib.rs │ │ ├── mailbox.rs │ │ ├── object.rs │ │ ├── principal_v1.rs │ │ ├── principal_v2.rs │ │ ├── push_v1.rs │ │ ├── push_v2.rs │ │ ├── queue_v1.rs │ │ ├── queue_v2.rs │ │ ├── report.rs │ │ ├── sieve_v1.rs │ │ ├── sieve_v2.rs │ │ ├── submission.rs │ │ ├── tasks_v1.rs │ │ ├── tasks_v2.rs │ │ ├── threads.rs │ │ ├── v011.rs │ │ ├── v012.rs │ │ ├── v013.rs │ │ └── v014.rs │ ├── nlp/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── classifier/ │ │ │ ├── adam.rs │ │ │ ├── feature.rs │ │ │ ├── ftrl.rs │ │ │ ├── mod.rs │ │ │ ├── model.rs │ │ │ ├── reservoir.rs │ │ │ ├── sgd.rs │ │ │ └── train.rs │ │ ├── language/ │ │ │ ├── detect.rs │ │ │ ├── mod.rs │ │ │ ├── search_snippet.rs │ │ │ ├── stemmer.rs │ │ │ └── stopwords.rs │ │ ├── lib.rs │ │ └── tokenizers/ │ │ ├── chinese.rs │ │ ├── japanese.rs │ │ ├── mod.rs │ │ ├── space.rs │ │ ├── stream.rs │ │ ├── types.rs │ │ └── word.rs │ ├── pop3/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── client.rs │ │ ├── lib.rs │ │ ├── mailbox.rs │ │ ├── op/ │ │ │ ├── authenticate.rs │ │ │ ├── delete.rs │ │ │ ├── fetch.rs │ │ │ ├── list.rs │ │ │ └── mod.rs │ │ ├── protocol/ │ │ │ ├── mod.rs │ │ │ ├── request.rs │ │ │ └── response.rs │ │ └── session.rs │ ├── services/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── broadcast/ │ │ │ ├── mod.rs │ │ │ ├── publisher.rs │ │ │ └── subscriber.rs │ │ ├── housekeeper/ │ │ │ └── mod.rs │ │ ├── lib.rs │ │ ├── state_manager/ │ │ │ ├── ece.rs │ │ │ ├── http.rs │ │ │ ├── manager.rs │ │ │ ├── mod.rs │ │ │ └── push.rs │ │ └── task_manager/ │ │ ├── alarm.rs │ │ ├── imip.rs │ │ ├── index.rs │ │ ├── lock.rs │ │ ├── merge_threads.rs │ │ └── mod.rs │ ├── smtp/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── core/ │ │ │ ├── mod.rs │ │ │ ├── params.rs │ │ │ └── throttle.rs │ │ ├── inbound/ │ │ │ ├── auth.rs │ │ │ ├── data.rs │ │ │ ├── ehlo.rs │ │ │ ├── hooks/ │ │ │ │ ├── client.rs │ │ │ │ ├── message.rs │ │ │ │ └── mod.rs │ │ │ ├── mail.rs │ │ │ ├── milter/ │ │ │ │ ├── client.rs │ │ │ │ ├── macros.rs │ │ │ │ ├── message.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── protocol.rs │ │ │ │ └── receiver.rs │ │ │ ├── mod.rs │ │ │ ├── rcpt.rs │ │ │ ├── session.rs │ │ │ ├── spam.rs │ │ │ ├── spawn.rs │ │ │ └── vrfy.rs │ │ ├── lib.rs │ │ ├── outbound/ │ │ │ ├── client.rs │ │ │ ├── dane/ │ │ │ │ ├── dnssec.rs │ │ │ │ ├── mod.rs │ │ │ │ └── verify.rs │ │ │ ├── delivery.rs │ │ │ ├── local.rs │ │ │ ├── lookup.rs │ │ │ ├── mod.rs │ │ │ ├── mta_sts/ │ │ │ │ ├── lookup.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── parse.rs │ │ │ │ └── verify.rs │ │ │ └── session.rs │ │ ├── queue/ │ │ │ ├── dsn.rs │ │ │ ├── manager.rs │ │ │ ├── mod.rs │ │ │ ├── quota.rs │ │ │ ├── spool.rs │ │ │ └── throttle.rs │ │ ├── reporting/ │ │ │ ├── analysis.rs │ │ │ ├── dkim.rs │ │ │ ├── dmarc.rs │ │ │ ├── mod.rs │ │ │ ├── scheduler.rs │ │ │ ├── spf.rs │ │ │ └── tls.rs │ │ └── scripts/ │ │ ├── envelope.rs │ │ ├── event_loop.rs │ │ ├── exec.rs │ │ └── mod.rs │ ├── spam-filter/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── analysis/ │ │ │ ├── classifier.rs │ │ │ ├── date.rs │ │ │ ├── dmarc.rs │ │ │ ├── domain.rs │ │ │ ├── ehlo.rs │ │ │ ├── from.rs │ │ │ ├── headers.rs │ │ │ ├── html.rs │ │ │ ├── init.rs │ │ │ ├── ip.rs │ │ │ ├── llm.rs │ │ │ ├── messageid.rs │ │ │ ├── mime.rs │ │ │ ├── mod.rs │ │ │ ├── pyzor.rs │ │ │ ├── received.rs │ │ │ ├── recipient.rs │ │ │ ├── replyto.rs │ │ │ ├── rules.rs │ │ │ ├── score.rs │ │ │ ├── subject.rs │ │ │ └── url.rs │ │ ├── lib.rs │ │ └── modules/ │ │ ├── classifier.rs │ │ ├── dnsbl.rs │ │ ├── expression.rs │ │ ├── html.rs │ │ ├── mod.rs │ │ ├── pyzor.rs │ │ └── sanitize.rs │ ├── store/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── backend/ │ │ │ ├── azure/ │ │ │ │ └── mod.rs │ │ │ ├── composite/ │ │ │ │ ├── mod.rs │ │ │ │ ├── read_replica.rs │ │ │ │ ├── sharded_blob.rs │ │ │ │ └── sharded_lookup.rs │ │ │ ├── elastic/ │ │ │ │ ├── main.rs │ │ │ │ ├── mod.rs │ │ │ │ └── search.rs │ │ │ ├── foundationdb/ │ │ │ │ ├── blob.rs │ │ │ │ ├── main.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── read.rs │ │ │ │ └── write.rs │ │ │ ├── fs/ │ │ │ │ └── mod.rs │ │ │ ├── http/ │ │ │ │ ├── config.rs │ │ │ │ ├── lookup.rs │ │ │ │ └── mod.rs │ │ │ ├── kafka/ │ │ │ │ ├── mod.rs │ │ │ │ └── pubsub.rs │ │ │ ├── meili/ │ │ │ │ ├── main.rs │ │ │ │ ├── mod.rs │ │ │ │ └── search.rs │ │ │ ├── memory/ │ │ │ │ └── mod.rs │ │ │ ├── mod.rs │ │ │ ├── mysql/ │ │ │ │ ├── blob.rs │ │ │ │ ├── lookup.rs │ │ │ │ ├── main.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── read.rs │ │ │ │ ├── search.rs │ │ │ │ └── write.rs │ │ │ ├── nats/ │ │ │ │ ├── mod.rs │ │ │ │ └── pubsub.rs │ │ │ ├── postgres/ │ │ │ │ ├── blob.rs │ │ │ │ ├── lookup.rs │ │ │ │ ├── main.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── read.rs │ │ │ │ ├── search.rs │ │ │ │ ├── tls.rs │ │ │ │ └── write.rs │ │ │ ├── redis/ │ │ │ │ ├── lookup.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── pool.rs │ │ │ │ └── pubsub.rs │ │ │ ├── rocksdb/ │ │ │ │ ├── blob.rs │ │ │ │ ├── main.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── read.rs │ │ │ │ └── write.rs │ │ │ ├── s3/ │ │ │ │ └── mod.rs │ │ │ ├── sqlite/ │ │ │ │ ├── blob.rs │ │ │ │ ├── lookup.rs │ │ │ │ ├── main.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── pool.rs │ │ │ │ ├── read.rs │ │ │ │ └── write.rs │ │ │ └── zenoh/ │ │ │ ├── mod.rs │ │ │ └── pubsub.rs │ │ ├── config.rs │ │ ├── dispatch/ │ │ │ ├── blob.rs │ │ │ ├── lookup.rs │ │ │ ├── mod.rs │ │ │ ├── pubsub.rs │ │ │ ├── search.rs │ │ │ └── store.rs │ │ ├── lib.rs │ │ ├── query/ │ │ │ ├── acl.rs │ │ │ ├── log.rs │ │ │ └── mod.rs │ │ ├── search/ │ │ │ ├── bm_u32.rs │ │ │ ├── bm_u64.rs │ │ │ ├── document.rs │ │ │ ├── fields.rs │ │ │ ├── index.rs │ │ │ ├── local.rs │ │ │ ├── mod.rs │ │ │ ├── query.rs │ │ │ ├── split.rs │ │ │ └── term.rs │ │ └── write/ │ │ ├── assert.rs │ │ ├── batch.rs │ │ ├── bitpack.rs │ │ ├── blob.rs │ │ ├── key.rs │ │ ├── log.rs │ │ ├── mod.rs │ │ └── serialize.rs │ ├── trc/ │ │ ├── Cargo.toml │ │ ├── event-macro/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ └── src/ │ │ ├── atomics/ │ │ │ ├── array.rs │ │ │ ├── bitset.rs │ │ │ ├── counter.rs │ │ │ ├── gauge.rs │ │ │ ├── histogram.rs │ │ │ └── mod.rs │ │ ├── event/ │ │ │ ├── conv.rs │ │ │ ├── description.rs │ │ │ ├── level.rs │ │ │ ├── metrics.rs │ │ │ └── mod.rs │ │ ├── ipc/ │ │ │ ├── bitset.rs │ │ │ ├── channel.rs │ │ │ ├── collector.rs │ │ │ ├── metrics.rs │ │ │ ├── mod.rs │ │ │ └── subscriber.rs │ │ ├── lib.rs │ │ ├── macros.rs │ │ └── serializers/ │ │ ├── binary.rs │ │ ├── json.rs │ │ ├── mod.rs │ │ └── text.rs │ ├── types/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── acl.rs │ │ ├── blob.rs │ │ ├── blob_hash.rs │ │ ├── collection.rs │ │ ├── dead_property.rs │ │ ├── field.rs │ │ ├── id.rs │ │ ├── keyword.rs │ │ ├── lib.rs │ │ ├── semver.rs │ │ ├── special_use.rs │ │ └── type_state.rs │ └── utils/ │ ├── Cargo.toml │ ├── proc-macros/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── lib.rs │ └── src/ │ ├── bimap.rs │ ├── cache.rs │ ├── chained_bytes.rs │ ├── cheeky_hash.rs │ ├── codec/ │ │ ├── base32_custom.rs │ │ ├── leb128.rs │ │ └── mod.rs │ ├── config/ │ │ ├── cron.rs │ │ ├── http.rs │ │ ├── ipmask.rs │ │ ├── mod.rs │ │ ├── parser.rs │ │ └── utils.rs │ ├── glob.rs │ ├── lib.rs │ ├── map/ │ │ ├── bitmap.rs │ │ ├── mod.rs │ │ ├── mutex_map.rs │ │ └── vec_map.rs │ ├── snowflake.rs │ ├── suffixlist.rs │ ├── template.rs │ ├── topological.rs │ └── url_params.rs ├── docker-bake.hcl ├── install.sh ├── resources/ │ ├── apparmor.d/ │ │ └── stalwart-mail │ ├── config/ │ │ └── config.toml │ ├── docker/ │ │ ├── Dockerfile.fdb │ │ ├── download.sh │ │ └── entrypoint.sh │ ├── html-templates/ │ │ ├── calendar-alarm.html │ │ ├── calendar-alarm.html.min │ │ ├── calendar-alarm.mjml │ │ ├── calendar-invite.html │ │ ├── calendar-invite.html.min │ │ └── calendar-invite.mjml │ ├── locales/ │ │ └── i18n.yml │ ├── scripts/ │ │ └── ossify.py │ └── systemd/ │ ├── stalwart-mail.service │ └── stalwart.mail.plist └── tests/ ├── Cargo.toml ├── resources/ │ ├── acme/ │ │ ├── Docker.pebble │ │ ├── config.toml │ │ ├── docker-compose-pebble.yaml │ │ └── test_acme.sh │ ├── crypto/ │ │ ├── cert_mixed.pem │ │ ├── cert_pgp.der │ │ ├── cert_pgp.pem │ │ ├── cert_smime.der │ │ ├── cert_smime.pem │ │ └── is_encrypted.txt │ ├── imap/ │ │ ├── 000.imap │ │ ├── 000.txt │ │ ├── 001.imap │ │ ├── 001.txt │ │ ├── 002.imap │ │ ├── 002.txt │ │ ├── 003.imap │ │ ├── 003.txt │ │ ├── 004.imap │ │ ├── 004.txt │ │ ├── 005.imap │ │ ├── 005.txt │ │ ├── 006.imap │ │ ├── 006.txt │ │ ├── 007.imap │ │ ├── 007.txt │ │ ├── 008.imap │ │ ├── 008.txt │ │ ├── 009.imap │ │ ├── 009.txt │ │ ├── 010.imap │ │ ├── 010.txt │ │ ├── 011.imap │ │ ├── 011.txt │ │ ├── 012.imap │ │ ├── 012.txt │ │ ├── 013.imap │ │ ├── 013.txt │ │ ├── 014.imap │ │ └── 014.txt │ ├── imap-test/ │ │ ├── append │ │ ├── append-binary │ │ ├── atoms │ │ ├── broken/ │ │ │ ├── search-intdate │ │ │ └── search-intdate.mbox │ │ ├── catenate │ │ ├── catenate-multiappend │ │ ├── close │ │ ├── copy │ │ ├── default.mbox │ │ ├── esearch │ │ ├── esearch-condstore │ │ ├── esearch.mbox │ │ ├── esort │ │ ├── expunge │ │ ├── expunge2 │ │ ├── fetch │ │ ├── fetch-binary-mime │ │ ├── fetch-binary-mime-base64 │ │ ├── fetch-binary-mime-base64.mbox │ │ ├── fetch-binary-mime-qp │ │ ├── fetch-binary-mime-qp.mbox │ │ ├── fetch-binary-mime.mbox │ │ ├── fetch-body │ │ ├── fetch-body-message-rfc822 │ │ ├── fetch-body-message-rfc822-mime │ │ ├── fetch-body-message-rfc822-mime.mbox │ │ ├── fetch-body-message-rfc822-x2 │ │ ├── fetch-body-message-rfc822-x2.mbox │ │ ├── fetch-body-message-rfc822.mbox │ │ ├── fetch-body-mime │ │ ├── fetch-body-mime.mbox │ │ ├── fetch-body.mbox │ │ ├── fetch-bodystructure │ │ ├── fetch-bodystructure.mbox │ │ ├── fetch-envelope │ │ ├── fetch-envelope.mbox │ │ ├── id │ │ ├── list │ │ ├── listext │ │ ├── logout │ │ ├── move │ │ ├── multiappend │ │ ├── mutf7 │ │ ├── nil │ │ ├── nil.mbox │ │ ├── notify │ │ ├── pipeline │ │ ├── search-addresses │ │ ├── search-addresses.mbox │ │ ├── search-body │ │ ├── search-body.mbox │ │ ├── search-context-update │ │ ├── search-context-update2 │ │ ├── search-context-update3 │ │ ├── search-date │ │ ├── search-date.mbox │ │ ├── search-flags │ │ ├── search-header │ │ ├── search-header.mbox │ │ ├── search-partial │ │ ├── search-partial.mbox │ │ ├── search-sets │ │ ├── search-size │ │ ├── search-size.mbox │ │ ├── select │ │ ├── select.mbox │ │ ├── sort-addresses │ │ ├── sort-addresses.mbox │ │ ├── sort-arrival │ │ ├── sort-arrival.mbox │ │ ├── sort-date │ │ ├── sort-date.mbox │ │ ├── sort-display-from │ │ ├── sort-display-from.mbox │ │ ├── sort-display-to │ │ ├── sort-display-to.mbox │ │ ├── sort-partial │ │ ├── sort-partial.mbox │ │ ├── sort-size │ │ ├── sort-size.mbox │ │ ├── sort-subject │ │ ├── sort-subject.mbox │ │ ├── store │ │ ├── subscribe │ │ ├── thread │ │ ├── thread-orderedsubject │ │ ├── thread-orderedsubject.mbox │ │ ├── thread-orderedsubject2 │ │ ├── thread-orderedsubject2.mbox │ │ ├── thread.mbox │ │ ├── thread2 │ │ ├── thread2.mbox │ │ ├── thread3 │ │ ├── thread3.mbox │ │ ├── thread4 │ │ ├── thread4.mbox │ │ ├── thread5 │ │ ├── thread5.mbox │ │ ├── thread6 │ │ ├── thread6.mbox │ │ ├── thread7 │ │ ├── thread7.mbox │ │ ├── thread8 │ │ ├── thread8.mbox │ │ ├── uidplus │ │ ├── uidvalidity │ │ ├── uidvalidity-rename │ │ ├── urlauth │ │ ├── urlauth-binary │ │ ├── urlauth-binary.mbox │ │ └── urlauth2 │ ├── itip/ │ │ ├── google_calendar.txt │ │ ├── itip_incoming.txt │ │ ├── put_validation.txt │ │ ├── rfc5546_event_recurring.txt │ │ ├── rfc5546_event_single.txt │ │ ├── rfc5546_todo.txt │ │ ├── rfc6638_recurring.txt │ │ └── rfc6638_single.txt │ ├── jmap/ │ │ ├── email_get/ │ │ │ ├── headers.eml │ │ │ ├── headers.json │ │ │ ├── message_attachment.eml │ │ │ ├── message_attachment.json │ │ │ ├── multipart_alternative.eml │ │ │ ├── multipart_alternative.json │ │ │ ├── multipart_cid.eml │ │ │ ├── multipart_cid.json │ │ │ ├── multipart_mixed.eml │ │ │ ├── multipart_mixed.json │ │ │ ├── multipart_related.eml │ │ │ ├── multipart_related.json │ │ │ ├── rfc8621.eml │ │ │ ├── rfc8621.json │ │ │ ├── single_part.eml │ │ │ ├── single_part.json │ │ │ ├── text_body_missing.eml │ │ │ ├── text_body_missing.json │ │ │ ├── text_body_missing_multipart.eml │ │ │ └── text_body_missing_multipart.json │ │ ├── email_parse/ │ │ │ ├── attachment.eml │ │ │ ├── attachment.json │ │ │ ├── attachment.part1 │ │ │ ├── attachment.part2 │ │ │ ├── attachment.part3 │ │ │ ├── attachment_b64.eml │ │ │ ├── attachment_b64.json │ │ │ ├── attachment_b64.part1 │ │ │ ├── attachment_b64.part2 │ │ │ ├── headers.eml │ │ │ └── headers.json │ │ ├── email_set/ │ │ │ ├── headers.eml │ │ │ ├── headers.jmap │ │ │ ├── headers.json │ │ │ ├── minimal.eml │ │ │ ├── minimal.jmap │ │ │ ├── minimal.json │ │ │ ├── mixed.eml │ │ │ ├── mixed.jmap │ │ │ ├── mixed.json │ │ │ ├── nested_body.eml │ │ │ ├── nested_body.jmap │ │ │ ├── nested_body.json │ │ │ ├── rfc8621_1.eml │ │ │ ├── rfc8621_1.jmap │ │ │ ├── rfc8621_1.json │ │ │ ├── rfc8621_2.eml │ │ │ ├── rfc8621_2.jmap │ │ │ └── rfc8621_2.json │ │ ├── email_snippet/ │ │ │ ├── html.eml │ │ │ ├── mixed.eml │ │ │ ├── subpart.eml │ │ │ ├── text_plain.eml │ │ │ └── text_plain_chinese.eml │ │ └── sieve/ │ │ ├── test_discard_reject.sieve │ │ ├── test_include.sieve │ │ ├── test_include_global.sieve │ │ ├── test_include_this.sieve │ │ ├── test_mailbox.sieve │ │ ├── test_notify_fcc.sieve │ │ ├── test_redirect_enclose.sieve │ │ ├── validate_error.sieve │ │ └── validate_ok.sieve │ ├── ldap/ │ │ ├── ldap.cfg │ │ └── run_glauth.sh │ ├── otel/ │ │ ├── docker-compose.yaml │ │ ├── otel-collector-config.yaml │ │ └── stalwart-config.toml │ ├── proxy-protocol/ │ │ ├── Docker.haproxy │ │ └── haproxy.cfg │ ├── scripts/ │ │ ├── create_test_cluster.sh │ │ ├── create_test_env.sh │ │ ├── create_test_users.sh │ │ ├── imap-log-parser.py │ │ ├── imap_import.py │ │ ├── imap_import_single.py │ │ ├── stress_test.py │ │ └── stress_test_prepare.py │ ├── smtp/ │ │ ├── antispam/ │ │ │ ├── bounce.test │ │ │ ├── classifier.ham │ │ │ ├── classifier.spam │ │ │ ├── classifier.test │ │ │ ├── classifier_features.test │ │ │ ├── classifier_html.test │ │ │ ├── combined.test │ │ │ ├── date.test │ │ │ ├── dmarc.test │ │ │ ├── from.test │ │ │ ├── headers.test │ │ │ ├── helo.test │ │ │ ├── html.test │ │ │ ├── ip.test │ │ │ ├── llm.test │ │ │ ├── messageid.test │ │ │ ├── mime.test │ │ │ ├── pyzor.test │ │ │ ├── rbl.test │ │ │ ├── received.test │ │ │ ├── recipient.test │ │ │ ├── replyto.test │ │ │ ├── spamtrap.test │ │ │ ├── subject.test │ │ │ └── url.test │ │ ├── certs/ │ │ │ ├── tls_cert.pem │ │ │ └── tls_privatekey.pem │ │ ├── config/ │ │ │ ├── if-blocks.toml │ │ │ ├── lists.toml │ │ │ ├── rules-dynvalue.toml │ │ │ ├── rules-eval.toml │ │ │ ├── rules.toml │ │ │ ├── servers.toml │ │ │ ├── throttle.toml │ │ │ └── toml-parser.toml │ │ ├── dane/ │ │ │ ├── dns.txt │ │ │ ├── internet.nl.0.cert │ │ │ ├── internet.nl.1.cert │ │ │ ├── mail.ietf.org.0.cert │ │ │ ├── mail.ietf.org.1.cert │ │ │ ├── mail.ietf.org.2.cert │ │ │ └── mail.ietf.org.3.cert │ │ ├── dsn/ │ │ │ ├── delay.eml │ │ │ ├── failure.eml │ │ │ ├── mixed.eml │ │ │ ├── original.txt │ │ │ └── success.eml │ │ ├── lists/ │ │ │ ├── test-list1.txt │ │ │ └── test-list2.txt │ │ ├── messages/ │ │ │ ├── arc.eml │ │ │ ├── dkim.eml │ │ │ ├── invalid_arc.eml │ │ │ ├── invalid_dkim.eml │ │ │ ├── loop.eml │ │ │ ├── multipart.eml │ │ │ ├── no_dkim.eml │ │ │ └── no_msgid.eml │ │ ├── milter/ │ │ │ ├── message.eml │ │ │ └── message.json │ │ ├── reports/ │ │ │ ├── arf1.eml │ │ │ ├── arf2.eml │ │ │ ├── arf3.eml │ │ │ ├── arf4.eml │ │ │ ├── arf5.eml │ │ │ ├── dmarc1.eml │ │ │ ├── dmarc2.eml │ │ │ ├── dmarc3.eml │ │ │ ├── dmarc4.eml │ │ │ ├── dmarc5.eml │ │ │ ├── tls1.eml │ │ │ └── tls2.eml │ │ └── sieve/ │ │ ├── awl.sieve │ │ ├── awl_include.sieve │ │ ├── stage_connect.sieve │ │ ├── stage_data.sieve │ │ ├── stage_ehlo.sieve │ │ ├── stage_mail.sieve │ │ └── stage_rcpt.sieve │ ├── tls_cert.pem │ └── tls_privatekey.pem └── src/ ├── cluster/ │ ├── broadcast.rs │ ├── mod.rs │ └── stress.rs ├── directory/ │ ├── imap.rs │ ├── internal.rs │ ├── ldap.rs │ ├── mod.rs │ ├── oidc.rs │ ├── smtp.rs │ └── sql.rs ├── http_server.rs ├── imap/ │ ├── acl.rs │ ├── antispam.rs │ ├── append.rs │ ├── basic.rs │ ├── body_structure.rs │ ├── condstore.rs │ ├── copy_move.rs │ ├── fetch.rs │ ├── idle.rs │ ├── mailbox.rs │ ├── managesieve.rs │ ├── mod.rs │ ├── pop.rs │ ├── search.rs │ ├── store.rs │ └── thread.rs ├── jmap/ │ ├── auth/ │ │ ├── limits.rs │ │ ├── mod.rs │ │ ├── oauth.rs │ │ ├── permissions.rs │ │ └── quota.rs │ ├── calendar/ │ │ ├── acl.rs │ │ ├── alarm.rs │ │ ├── calendars.rs │ │ ├── event.rs │ │ ├── identity.rs │ │ ├── mod.rs │ │ └── notification.rs │ ├── contacts/ │ │ ├── acl.rs │ │ ├── addressbook.rs │ │ ├── contact.rs │ │ └── mod.rs │ ├── core/ │ │ ├── blob.rs │ │ ├── event_source.rs │ │ ├── mod.rs │ │ ├── push_subscription.rs │ │ └── websocket.rs │ ├── files/ │ │ ├── acl.rs │ │ ├── mod.rs │ │ └── node.rs │ ├── mail/ │ │ ├── acl.rs │ │ ├── antispam.rs │ │ ├── changes.rs │ │ ├── copy.rs │ │ ├── crypto.rs │ │ ├── delivery.rs │ │ ├── get.rs │ │ ├── mailbox.rs │ │ ├── mod.rs │ │ ├── parse.rs │ │ ├── query.rs │ │ ├── query_changes.rs │ │ ├── search_snippet.rs │ │ ├── set.rs │ │ ├── sieve_script.rs │ │ ├── submission.rs │ │ ├── thread_get.rs │ │ ├── thread_merge.rs │ │ └── vacation_response.rs │ ├── mod.rs │ ├── principal/ │ │ ├── availability.rs │ │ ├── get.rs │ │ └── mod.rs │ └── server/ │ ├── enterprise.rs │ ├── mod.rs │ ├── purge.rs │ └── webhooks.rs ├── lib.rs ├── smtp/ │ ├── config.rs │ ├── inbound/ │ │ ├── antispam.rs │ │ ├── asn.rs │ │ ├── auth.rs │ │ ├── basic.rs │ │ ├── data.rs │ │ ├── dmarc.rs │ │ ├── ehlo.rs │ │ ├── limits.rs │ │ ├── mail.rs │ │ ├── milter.rs │ │ ├── mod.rs │ │ ├── rcpt.rs │ │ ├── rewrite.rs │ │ ├── scripts.rs │ │ ├── sign.rs │ │ ├── throttle.rs │ │ └── vrfy.rs │ ├── lookup/ │ │ ├── mod.rs │ │ ├── sql.rs │ │ └── utils.rs │ ├── management/ │ │ ├── mod.rs │ │ ├── queue.rs │ │ └── report.rs │ ├── mod.rs │ ├── outbound/ │ │ ├── dane.rs │ │ ├── extensions.rs │ │ ├── fallback_relay.rs │ │ ├── ip_lookup.rs │ │ ├── lmtp.rs │ │ ├── mod.rs │ │ ├── mta_sts.rs │ │ ├── smtp.rs │ │ ├── throttle.rs │ │ └── tls.rs │ ├── queue/ │ │ ├── concurrent.rs │ │ ├── dsn.rs │ │ ├── manager.rs │ │ ├── mod.rs │ │ ├── retry.rs │ │ └── virtualq.rs │ ├── reporting/ │ │ ├── analyze.rs │ │ ├── dmarc.rs │ │ ├── mod.rs │ │ ├── scheduler.rs │ │ └── tls.rs │ └── session.rs ├── store/ │ ├── blob.rs │ ├── cleanup.rs │ ├── import_export.rs │ ├── lookup.rs │ ├── mod.rs │ ├── ops.rs │ └── query.rs └── webdav/ ├── acl.rs ├── basic.rs ├── cal_alarm.rs ├── cal_itip.rs ├── cal_query.rs ├── cal_scheduling.rs ├── card_query.rs ├── copy_move.rs ├── lock.rs ├── mkcol.rs ├── mod.rs ├── multiget.rs ├── principals.rs ├── prop.rs ├── put_get.rs └── sync.rs