2021-03-28 12:40:56 +00:00
<!doctype html>
< html lang = "en" class = "no-js" >
< head >
< meta charset = "utf-8" >
< meta name = "viewport" content = "width=device-width,initial-scale=1" >
2021-09-22 23:30:04 +00:00
< meta name = "description" content = "A fullstack but simple mail-server (SMTP, IMAP, LDAP, Antispam, Antivirus, etc.) using Docker." >
2021-03-28 12:40:56 +00:00
< meta name = "author" content = "docker-mailserver (Github Organization)" >
2022-09-23 06:23:55 +00:00
< link rel = "canonical" href = "https://docker-mailserver.github.io/docker-mailserver/edge/contributing/general/" >
2021-03-28 12:40:56 +00:00
2023-04-08 09:54:44 +00:00
< link rel = "prev" href = "../../faq/" >
< link rel = "next" href = "../tests/" >
2021-03-28 12:40:56 +00:00
< link rel = "icon" href = "../../assets/logo/favicon-32x32.png" >
2023-04-08 09:54:44 +00:00
< meta name = "generator" content = "mkdocs-1.4.2, mkdocs-material-9.1.5" >
2021-03-28 12:40:56 +00:00
2022-09-23 06:23:55 +00:00
< title > Contributing | General Information - Docker Mailserver< / title >
2021-03-28 12:40:56 +00:00
2023-04-08 09:54:44 +00:00
< link rel = "stylesheet" href = "../../assets/stylesheets/main.7a7fce14.min.css" >
2021-03-28 12:40:56 +00:00
2023-04-08 09:54:44 +00:00
< link rel = "stylesheet" href = "../../assets/stylesheets/palette.a0c5b2b5.min.css" >
2021-03-28 12:40:56 +00:00
2022-07-08 15:17:56 +00:00
2023-04-08 09:54:44 +00:00
2021-03-28 12:40:56 +00:00
2022-04-03 11:29:35 +00:00
2021-03-28 12:40:56 +00:00
< link rel = "preconnect" href = "https://fonts.gstatic.com" crossorigin >
2022-04-03 11:29:35 +00:00
< link rel = "stylesheet" href = "https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback" >
2021-12-13 07:43:26 +00:00
< style > : root { --md-text-font : "Roboto" ; --md-code-font : "Roboto Mono" } < / style >
2021-03-28 12:40:56 +00:00
< link rel = "stylesheet" href = "../../assets/css/customizations.css" >
2023-04-08 09:54:44 +00:00
< script > _ _md _scope = new URL ( "../.." , location ) , _ _md _hash = e => [ ... e ] . reduce ( ( e , _ ) => ( e << 5 ) - e + _ . charCodeAt ( 0 ) , 0 ) , _ _md _get = ( e , _ = localStorage , t = _ _md _scope ) => JSON . parse ( _ . getItem ( t . pathname + "." + e ) ) , _ _md _set = ( e , _ , t = localStorage , a = _ _md _scope ) => { try { t . setItem ( a . pathname + "." + e , JSON . stringify ( _ ) ) } catch ( e ) { } } < / script >
2021-03-28 12:40:56 +00:00
2021-06-16 11:25:02 +00:00
2021-03-28 12:40:56 +00:00
2023-04-08 09:54:44 +00:00
2021-03-28 12:40:56 +00:00
< / head >
2021-04-08 10:28:06 +00:00
2021-03-28 12:40:56 +00:00
2021-04-08 10:28:06 +00:00
< body dir = "ltr" data-md-color-scheme = "default" data-md-color-primary = "indigo" data-md-color-accent = "indigo" >
2021-03-28 12:40:56 +00:00
2021-04-01 20:45:17 +00:00
2022-01-27 17:13:38 +00:00
< script > var palette = _ _md _get ( "__palette" ) ; if ( palette && "object" == typeof palette . color ) for ( var key of Object . keys ( palette . color ) ) document . body . setAttribute ( "data-md-color-" + key , palette . color [ key ] ) < / script >
2021-04-08 10:28:06 +00:00
2021-03-28 12:40:56 +00:00
< input class = "md-toggle" data-md-toggle = "drawer" type = "checkbox" id = "__drawer" autocomplete = "off" >
< input class = "md-toggle" data-md-toggle = "search" type = "checkbox" id = "__search" autocomplete = "off" >
< label class = "md-overlay" for = "__drawer" > < / label >
< div data-md-component = "skip" >
2022-09-23 06:23:55 +00:00
< a href = "#coding-style" class = "md-skip" >
Skip to content
< / a >
2021-03-28 12:40:56 +00:00
< / div >
< div data-md-component = "announce" >
< / div >
2023-04-08 09:54:44 +00:00
< div data-md-color-scheme = "default" data-md-component = "outdated" hidden >
2021-12-13 07:43:26 +00:00
< / div >
2021-09-26 08:38:19 +00:00
< header class = "md-header" data-md-component = "header" >
2021-03-28 12:40:56 +00:00
< nav class = "md-header__inner md-grid" aria-label = "Header" >
< a href = "../.." title = "Docker Mailserver" class = "md-header__button md-logo" aria-label = "Docker Mailserver" data-md-component = "logo" >
2021-05-20 10:25:17 +00:00
< img src = "../../assets/logo/dmo-logo-white.min.svg" alt = "logo" >
2021-03-28 12:40:56 +00:00
< / a >
< label class = "md-header__button md-icon" for = "__drawer" >
2022-07-08 15:17:56 +00:00
< svg xmlns = "http://www.w3.org/2000/svg" viewBox = "0 0 24 24" > < path d = "M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z" / > < / svg >
2021-03-28 12:40:56 +00:00
< / label >
< div class = "md-header__title" data-md-component = "header-title" >
< div class = "md-header__ellipsis" >
< div class = "md-header__topic" >
< span class = "md-ellipsis" >
Docker Mailserver
< / span >
< / div >
< div class = "md-header__topic" data-md-component = "header-topic" >
< span class = "md-ellipsis" >
2022-09-23 06:23:55 +00:00
Contributing | General Information
2021-03-28 12:40:56 +00:00
< / span >
< / div >
< / div >
< / div >
2021-04-01 20:45:17 +00:00
2021-04-08 10:28:06 +00:00
< form class = "md-header__option" data-md-component = "palette" >
2021-06-08 01:20:52 +00:00
< input class = "md-option" data-md-color-media = "(prefers-color-scheme: light)" data-md-color-scheme = "default" data-md-color-primary = "indigo" data-md-color-accent = "indigo" aria-label = "Switch to dark mode" type = "radio" name = "__palette" id = "__palette_1" >
2021-04-18 11:25:31 +00:00
< label class = "md-header__button md-icon" title = "Switch to dark mode" for = "__palette_2" hidden >
2022-07-08 15:17:56 +00:00
< svg xmlns = "http://www.w3.org/2000/svg" viewBox = "0 0 24 24" > < path d = "m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3 3.19.09m3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95 2.06.05m-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31Z" / > < / svg >
2021-04-18 11:25:31 +00:00
< / label >
2021-04-08 10:28:06 +00:00
2021-06-08 01:20:52 +00:00
< input class = "md-option" data-md-color-media = "(prefers-color-scheme: dark)" data-md-color-scheme = "slate" data-md-color-primary = "indigo" data-md-color-accent = "blue" aria-label = "Switch to light mode" type = "radio" name = "__palette" id = "__palette_2" >
2021-04-18 11:25:31 +00:00
< label class = "md-header__button md-icon" title = "Switch to light mode" for = "__palette_1" hidden >
2022-07-08 15:17:56 +00:00
< svg xmlns = "http://www.w3.org/2000/svg" viewBox = "0 0 24 24" > < path d = "M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5c-.84 0-1.65.15-2.39.42L12 2M3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29L3.34 7m.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14L3.36 17M20.65 7l-1.77 3.79a7.023 7.023 0 0 0-2.38-4.15l4.15.36m-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29L20.64 17M12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44L12 22Z" / > < / svg >
2021-04-18 11:25:31 +00:00
< / label >
2021-04-08 10:28:06 +00:00
< / form >
2021-04-01 20:45:17 +00:00
2021-03-28 12:40:56 +00:00
< label class = "md-header__button md-icon" for = "__search" >
2022-07-08 15:17:56 +00:00
< svg xmlns = "http://www.w3.org/2000/svg" viewBox = "0 0 24 24" > < path d = "M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z" / > < / svg >
2021-03-28 12:40:56 +00:00
< / label >
2021-12-13 07:43:26 +00:00
< div class = "md-search" data-md-component = "search" role = "dialog" >
2021-03-28 12:40:56 +00:00
< label class = "md-search__overlay" for = "__search" > < / label >
< div class = "md-search__inner" role = "search" >
< form class = "md-search__form" name = "search" >
2021-07-29 20:46:21 +00:00
< input type = "text" class = "md-search__input" name = "query" aria-label = "Search" placeholder = "Search" autocapitalize = "off" autocorrect = "off" autocomplete = "off" spellcheck = "false" data-md-component = "search-query" required >
2021-03-28 12:40:56 +00:00
< label class = "md-search__icon md-icon" for = "__search" >
2022-07-08 15:17:56 +00:00
< svg xmlns = "http://www.w3.org/2000/svg" viewBox = "0 0 24 24" > < path d = "M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z" / > < / svg >
< svg xmlns = "http://www.w3.org/2000/svg" viewBox = "0 0 24 24" > < path d = "M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z" / > < / svg >
2021-03-28 12:40:56 +00:00
< / label >
2021-07-29 20:46:21 +00:00
< nav class = "md-search__options" aria-label = "Search" >
2023-04-08 09:54:44 +00:00
< button type = "reset" class = "md-search__icon md-icon" title = "Clear" aria-label = "Clear" tabindex = "-1" >
2022-07-08 15:17:56 +00:00
< svg xmlns = "http://www.w3.org/2000/svg" viewBox = "0 0 24 24" > < path d = "M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z" / > < / svg >
2021-07-29 20:46:21 +00:00
< / button >
< / nav >
2021-03-28 12:40:56 +00:00
< / form >
< div class = "md-search__output" >
< div class = "md-search__scrollwrap" data-md-scrollfix >
< div class = "md-search-result" data-md-component = "search-result" >
< div class = "md-search-result__meta" >
Initializing search
< / div >
2023-04-08 09:54:44 +00:00
< ol class = "md-search-result__list" role = "presentation" > < / ol >
2021-03-28 12:40:56 +00:00
< / div >
< / div >
< / div >
< / div >
< / div >
< div class = "md-header__source" >
2022-04-03 11:29:35 +00:00
< a href = "https://github.com/docker-mailserver/docker-mailserver" title = "Go to repository" class = "md-source" data-md-component = "source" >
2021-03-28 12:40:56 +00:00
< div class = "md-source__icon md-icon" >
2023-04-08 09:54:44 +00:00
< svg xmlns = "http://www.w3.org/2000/svg" viewBox = "0 0 496 512" > <!-- ! Font Awesome Free 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc. --> < path d = "M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z" / > < / svg >
2021-03-28 12:40:56 +00:00
< / div >
< div class = "md-source__repository" >
docker-mailserver
< / div >
< / a >
< / div >
< / nav >
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
< / header >
< div class = "md-container" data-md-component = "container" >
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
< nav class = "md-tabs" aria-label = "Tabs" data-md-component = "tabs" >
2023-04-08 09:54:44 +00:00
< div class = "md-grid" >
2021-03-28 12:40:56 +00:00
< ul class = "md-tabs__list" >
< li class = "md-tabs__item" >
< a href = "../.." class = "md-tabs__link" >
Home
< / a >
< / li >
< li class = "md-tabs__item" >
< a href = "../../introduction/" class = "md-tabs__link" >
Introduction
< / a >
< / li >
2023-02-19 12:25:43 +00:00
< li class = "md-tabs__item" >
< a href = "../../usage/" class = "md-tabs__link" >
Usage
< / a >
< / li >
2021-03-28 12:40:56 +00:00
< li class = "md-tabs__item" >
2023-02-19 12:25:43 +00:00
< a href = "../../config/environment/" class = "md-tabs__link" >
2021-03-28 12:40:56 +00:00
Configuration
< / a >
< / li >
< li class = "md-tabs__item" >
< a href = "../../examples/tutorials/basic-installation/" class = "md-tabs__link" >
Examples
< / a >
< / li >
< li class = "md-tabs__item" >
< a href = "../../faq/" class = "md-tabs__link" >
FAQ
< / a >
< / li >
< li class = "md-tabs__item" >
2022-09-23 06:23:55 +00:00
< a href = "./" class = "md-tabs__link md-tabs__link--active" >
2021-03-28 12:40:56 +00:00
Contributing
< / a >
< / li >
< li class = "md-tabs__item" >
2021-09-13 07:04:09 +00:00
< a href = "https://hub.docker.com/r/mailserver/docker-mailserver/" class = "md-tabs__link" >
2021-03-28 12:40:56 +00:00
DockerHub
< / a >
< / li >
< li class = "md-tabs__item" >
2021-09-13 07:04:09 +00:00
< a href = "https://github.com/docker-mailserver/docker-mailserver/pkgs/container/docker-mailserver" class = "md-tabs__link" >
2021-03-28 12:40:56 +00:00
GHCR
< / a >
< / li >
< / ul >
< / div >
< / nav >
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
< main class = "md-main" data-md-component = "main" >
< div class = "md-main__inner md-grid" >
< div class = "md-sidebar md-sidebar--primary" data-md-component = "sidebar" data-md-type = "navigation" >
< div class = "md-sidebar__scrollwrap" >
< div class = "md-sidebar__inner" >
< nav class = "md-nav md-nav--primary md-nav--lifted" aria-label = "Navigation" data-md-level = "0" >
< label class = "md-nav__title" for = "__drawer" >
< a href = "../.." title = "Docker Mailserver" class = "md-nav__button md-logo" aria-label = "Docker Mailserver" data-md-component = "logo" >
2021-05-20 10:25:17 +00:00
< img src = "../../assets/logo/dmo-logo-white.min.svg" alt = "logo" >
2021-03-28 12:40:56 +00:00
< / a >
Docker Mailserver
< / label >
< div class = "md-nav__source" >
2022-04-03 11:29:35 +00:00
< a href = "https://github.com/docker-mailserver/docker-mailserver" title = "Go to repository" class = "md-source" data-md-component = "source" >
2021-03-28 12:40:56 +00:00
< div class = "md-source__icon md-icon" >
2023-04-08 09:54:44 +00:00
< svg xmlns = "http://www.w3.org/2000/svg" viewBox = "0 0 496 512" > <!-- ! Font Awesome Free 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc. --> < path d = "M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z" / > < / svg >
2021-03-28 12:40:56 +00:00
< / div >
< div class = "md-source__repository" >
docker-mailserver
< / div >
< / a >
< / div >
< ul class = "md-nav__list" data-md-scrollfix >
< li class = "md-nav__item" >
< a href = "../.." class = "md-nav__link" >
Home
< / a >
< / li >
< li class = "md-nav__item" >
< a href = "../../introduction/" class = "md-nav__link" >
Introduction
< / a >
< / li >
2023-02-19 12:25:43 +00:00
< li class = "md-nav__item" >
< a href = "../../usage/" class = "md-nav__link" >
Usage
< / a >
< / li >
2021-03-28 12:40:56 +00:00
< li class = "md-nav__item md-nav__item--nested" >
2021-09-26 08:38:19 +00:00
2023-04-08 09:54:44 +00:00
< input class = "md-nav__toggle md-toggle md-toggle--indeterminate" type = "checkbox" id = "__nav_4" >
2021-09-26 08:38:19 +00:00
2023-04-08 09:54:44 +00:00
< label class = "md-nav__link" for = "__nav_4" id = "__nav_4_label" tabindex = "0" >
2021-09-26 08:38:19 +00:00
Configuration
< span class = "md-nav__icon md-icon" > < / span >
< / label >
2023-04-08 09:54:44 +00:00
< nav class = "md-nav" data-md-level = "1" aria-labelledby = "__nav_4_label" aria-expanded = "false" >
2023-02-19 12:25:43 +00:00
< label class = "md-nav__title" for = "__nav_4" >
2021-03-28 12:40:56 +00:00
< span class = "md-nav__icon md-icon" > < / span >
Configuration
< / label >
< ul class = "md-nav__list" data-md-scrollfix >
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
< li class = "md-nav__item" >
2023-02-19 12:25:43 +00:00
< a href = "../../config/environment/" class = "md-nav__link" >
Environment Variables
2021-03-28 12:40:56 +00:00
< / a >
< / li >
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
< li class = "md-nav__item" >
2023-04-09 09:27:22 +00:00
< a href = "../../config/user-management/" class = "md-nav__link" >
User Management
2021-03-28 12:40:56 +00:00
< / a >
< / li >
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
< li class = "md-nav__item md-nav__item--nested" >
2021-09-26 08:38:19 +00:00
2023-04-08 09:54:44 +00:00
< input class = "md-nav__toggle md-toggle md-toggle--indeterminate" type = "checkbox" id = "__nav_4_3" >
2021-09-26 08:38:19 +00:00
2023-04-08 09:54:44 +00:00
< label class = "md-nav__link" for = "__nav_4_3" id = "__nav_4_3_label" tabindex = "0" >
2021-09-26 08:38:19 +00:00
Best Practices
< span class = "md-nav__icon md-icon" > < / span >
< / label >
2023-04-08 09:54:44 +00:00
< nav class = "md-nav" data-md-level = "2" aria-labelledby = "__nav_4_3_label" aria-expanded = "false" >
< label class = "md-nav__title" for = "__nav_4_3" >
2021-03-28 12:40:56 +00:00
< span class = "md-nav__icon md-icon" > < / span >
Best Practices
< / label >
< ul class = "md-nav__list" data-md-scrollfix >
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
< li class = "md-nav__item" >
2023-04-10 10:09:23 +00:00
< a href = "../../config/best-practices/dkim_dmarc_spf/" class = "md-nav__link" >
DKIM, DMARC & SPF
2021-03-28 12:40:56 +00:00
< / a >
< / li >
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
< li class = "md-nav__item" >
< a href = "../../config/best-practices/autodiscover/" class = "md-nav__link" >
Auto-discovery
< / a >
< / li >
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
< / ul >
< / nav >
< / li >
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
< li class = "md-nav__item md-nav__item--nested" >
2021-09-26 08:38:19 +00:00
2023-04-08 09:54:44 +00:00
< input class = "md-nav__toggle md-toggle md-toggle--indeterminate" type = "checkbox" id = "__nav_4_4" >
2021-09-26 08:38:19 +00:00
2023-04-08 09:54:44 +00:00
< label class = "md-nav__link" for = "__nav_4_4" id = "__nav_4_4_label" tabindex = "0" >
2021-09-26 08:38:19 +00:00
Security
< span class = "md-nav__icon md-icon" > < / span >
< / label >
2023-04-08 09:54:44 +00:00
< nav class = "md-nav" data-md-level = "2" aria-labelledby = "__nav_4_4_label" aria-expanded = "false" >
< label class = "md-nav__title" for = "__nav_4_4" >
2021-03-28 12:40:56 +00:00
< span class = "md-nav__icon md-icon" > < / span >
Security
< / label >
< ul class = "md-nav__list" data-md-scrollfix >
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
< li class = "md-nav__item" >
< a href = "../../config/security/understanding-the-ports/" class = "md-nav__link" >
Understanding the Ports
< / a >
< / li >
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
< li class = "md-nav__item" >
< a href = "../../config/security/ssl/" class = "md-nav__link" >
SSL/TLS
< / a >
< / li >
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
< li class = "md-nav__item" >
< a href = "../../config/security/fail2ban/" class = "md-nav__link" >
Fail2Ban
< / a >
< / li >
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
2021-04-18 00:13:06 +00:00
2021-09-26 08:38:19 +00:00
2021-04-18 00:13:06 +00:00
< li class = "md-nav__item" >
< a href = "../../config/security/mail_crypt/" class = "md-nav__link" >
Mail Encryption
< / a >
< / li >
2021-09-26 08:38:19 +00:00
2021-04-18 00:13:06 +00:00
2023-01-25 09:29:36 +00:00
< li class = "md-nav__item" >
< a href = "../../config/security/rspamd/" class = "md-nav__link" >
Rspamd
< / a >
< / li >
2021-03-28 12:40:56 +00:00
< / ul >
< / nav >
< / li >
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
< li class = "md-nav__item" >
2023-04-08 09:54:44 +00:00
< a href = "../../config/debugging/" class = "md-nav__link" >
2021-03-28 12:40:56 +00:00
Debugging
< / a >
< / li >
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
2023-04-08 09:54:44 +00:00
< li class = "md-nav__item" >
< a href = "../../config/pop3/" class = "md-nav__link" >
Mail Delivery with POP3
< / a >
2021-03-28 12:40:56 +00:00
< / li >
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
< li class = "md-nav__item" >
2023-04-08 09:54:44 +00:00
< a href = "../../config/setup.sh/" class = "md-nav__link" >
2023-04-10 09:37:49 +00:00
About setup.sh
2021-03-28 12:40:56 +00:00
< / a >
< / li >
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
< li class = "md-nav__item md-nav__item--nested" >
2021-09-26 08:38:19 +00:00
2023-04-08 09:54:44 +00:00
< input class = "md-nav__toggle md-toggle md-toggle--indeterminate" type = "checkbox" id = "__nav_4_8" >
2021-09-26 08:38:19 +00:00
2023-04-08 09:54:44 +00:00
< label class = "md-nav__link" for = "__nav_4_8" id = "__nav_4_8_label" tabindex = "0" >
2021-09-26 08:38:19 +00:00
Advanced Configuration
< span class = "md-nav__icon md-icon" > < / span >
< / label >
2023-04-08 09:54:44 +00:00
< nav class = "md-nav" data-md-level = "2" aria-labelledby = "__nav_4_8_label" aria-expanded = "false" >
2023-02-19 12:25:43 +00:00
< label class = "md-nav__title" for = "__nav_4_8" >
2021-03-28 12:40:56 +00:00
< span class = "md-nav__icon md-icon" > < / span >
Advanced Configuration
< / label >
< ul class = "md-nav__list" data-md-scrollfix >
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
< li class = "md-nav__item" >
< a href = "../../config/advanced/optional-config/" class = "md-nav__link" >
Optional Configuration
< / a >
< / li >
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
< li class = "md-nav__item md-nav__item--nested" >
2021-09-26 08:38:19 +00:00
2023-04-08 09:54:44 +00:00
< input class = "md-nav__toggle md-toggle md-toggle--indeterminate" type = "checkbox" id = "__nav_4_8_2" >
2021-09-26 08:38:19 +00:00
2023-04-08 09:54:44 +00:00
< label class = "md-nav__link" for = "__nav_4_8_2" id = "__nav_4_8_2_label" tabindex = "0" >
2021-09-26 08:38:19 +00:00
Maintenance
< span class = "md-nav__icon md-icon" > < / span >
< / label >
2023-04-08 09:54:44 +00:00
< nav class = "md-nav" data-md-level = "3" aria-labelledby = "__nav_4_8_2_label" aria-expanded = "false" >
2023-02-19 12:25:43 +00:00
< label class = "md-nav__title" for = "__nav_4_8_2" >
2021-03-28 12:40:56 +00:00
< span class = "md-nav__icon md-icon" > < / span >
Maintenance
< / label >
< ul class = "md-nav__list" data-md-scrollfix >
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
< li class = "md-nav__item" >
< a href = "../../config/advanced/maintenance/update-and-cleanup/" class = "md-nav__link" >
Update and Cleanup
< / a >
< / li >
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
< / ul >
< / nav >
< / li >
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
< li class = "md-nav__item md-nav__item--nested" >
2021-09-26 08:38:19 +00:00
2023-04-08 09:54:44 +00:00
< input class = "md-nav__toggle md-toggle md-toggle--indeterminate" type = "checkbox" id = "__nav_4_8_3" >
2021-09-26 08:38:19 +00:00
2023-04-08 09:54:44 +00:00
< label class = "md-nav__link" for = "__nav_4_8_3" id = "__nav_4_8_3_label" tabindex = "0" >
2021-09-26 08:38:19 +00:00
Override the Default Configs
< span class = "md-nav__icon md-icon" > < / span >
< / label >
2023-04-08 09:54:44 +00:00
< nav class = "md-nav" data-md-level = "3" aria-labelledby = "__nav_4_8_3_label" aria-expanded = "false" >
2023-02-19 12:25:43 +00:00
< label class = "md-nav__title" for = "__nav_4_8_3" >
2021-03-28 12:40:56 +00:00
< span class = "md-nav__icon md-icon" > < / span >
Override the Default Configs
< / label >
< ul class = "md-nav__list" data-md-scrollfix >
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
< li class = "md-nav__item" >
< a href = "../../config/advanced/override-defaults/dovecot/" class = "md-nav__link" >
Dovecot
< / a >
< / li >
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
< li class = "md-nav__item" >
< a href = "../../config/advanced/override-defaults/postfix/" class = "md-nav__link" >
Postfix
< / a >
< / li >
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
2021-04-01 20:45:17 +00:00
2021-09-26 08:38:19 +00:00
2021-04-01 20:45:17 +00:00
< li class = "md-nav__item" >
< a href = "../../config/advanced/override-defaults/user-patches/" class = "md-nav__link" >
Modifications via Script
< / a >
< / li >
2021-09-26 08:38:19 +00:00
2021-04-01 20:45:17 +00:00
2021-03-28 12:40:56 +00:00
< / ul >
< / nav >
< / li >
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
< li class = "md-nav__item" >
< a href = "../../config/advanced/auth-ldap/" class = "md-nav__link" >
LDAP Authentication
< / a >
< / li >
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
< li class = "md-nav__item" >
< a href = "../../config/advanced/mail-sieve/" class = "md-nav__link" >
Email Filtering with Sieve
< / a >
< / li >
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
< li class = "md-nav__item" >
< a href = "../../config/advanced/mail-fetchmail/" class = "md-nav__link" >
Email Gathering with Fetchmail
< / a >
< / li >
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
2023-05-23 15:25:42 +00:00
< li class = "md-nav__item" >
< a href = "../../config/advanced/mail-getmail/" class = "md-nav__link" >
Email Gathering with Getmail
< / a >
< / li >
2021-03-28 12:40:56 +00:00
< li class = "md-nav__item md-nav__item--nested" >
2021-09-26 08:38:19 +00:00
2023-04-08 09:54:44 +00:00
2023-05-23 15:25:42 +00:00
< input class = "md-nav__toggle md-toggle md-toggle--indeterminate" type = "checkbox" id = "__nav_4_8_8" >
2023-04-08 09:54:44 +00:00
2021-09-26 08:38:19 +00:00
2023-05-23 15:25:42 +00:00
< label class = "md-nav__link" for = "__nav_4_8_8" id = "__nav_4_8_8_label" tabindex = "0" >
2021-09-26 08:38:19 +00:00
Email Forwarding
< span class = "md-nav__icon md-icon" > < / span >
< / label >
2023-05-23 15:25:42 +00:00
< nav class = "md-nav" data-md-level = "3" aria-labelledby = "__nav_4_8_8_label" aria-expanded = "false" >
< label class = "md-nav__title" for = "__nav_4_8_8" >
2021-03-28 12:40:56 +00:00
< span class = "md-nav__icon md-icon" > < / span >
Email Forwarding
< / label >
< ul class = "md-nav__list" data-md-scrollfix >
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
< li class = "md-nav__item" >
< a href = "../../config/advanced/mail-forwarding/relay-hosts/" class = "md-nav__link" >
Relay Hosts
< / a >
< / li >
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
< li class = "md-nav__item" >
< a href = "../../config/advanced/mail-forwarding/aws-ses/" class = "md-nav__link" >
AWS SES
< / a >
< / li >
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
< / ul >
< / nav >
< / li >
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
< li class = "md-nav__item" >
< a href = "../../config/advanced/full-text-search/" class = "md-nav__link" >
Full-Text Search
< / a >
< / li >
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
< li class = "md-nav__item" >
< a href = "../../config/advanced/kubernetes/" class = "md-nav__link" >
Kubernetes
< / a >
< / li >
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
< li class = "md-nav__item" >
< a href = "../../config/advanced/ipv6/" class = "md-nav__link" >
IPv6
< / a >
< / li >
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
2021-09-19 16:56:20 +00:00
2021-09-26 08:38:19 +00:00
2021-09-19 16:56:20 +00:00
< li class = "md-nav__item" >
< a href = "../../config/advanced/podman/" class = "md-nav__link" >
Podman
< / a >
< / li >
2021-09-26 08:38:19 +00:00
2021-09-19 16:56:20 +00:00
2022-05-07 22:28:58 +00:00
< li class = "md-nav__item" >
< a href = "../../config/advanced/dovecot-master-accounts/" class = "md-nav__link" >
Dovecot Master Accounts
< / a >
< / li >
2021-03-28 12:40:56 +00:00
< / ul >
< / nav >
< / li >
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
< / ul >
< / nav >
< / li >
< li class = "md-nav__item md-nav__item--nested" >
2021-09-26 08:38:19 +00:00
2023-04-08 09:54:44 +00:00
< input class = "md-nav__toggle md-toggle md-toggle--indeterminate" type = "checkbox" id = "__nav_5" >
2021-09-26 08:38:19 +00:00
2023-04-08 09:54:44 +00:00
< label class = "md-nav__link" for = "__nav_5" id = "__nav_5_label" tabindex = "0" >
2021-09-26 08:38:19 +00:00
Examples
< span class = "md-nav__icon md-icon" > < / span >
< / label >
2023-04-08 09:54:44 +00:00
< nav class = "md-nav" data-md-level = "1" aria-labelledby = "__nav_5_label" aria-expanded = "false" >
2023-02-19 12:25:43 +00:00
< label class = "md-nav__title" for = "__nav_5" >
2021-03-28 12:40:56 +00:00
< span class = "md-nav__icon md-icon" > < / span >
Examples
< / label >
< ul class = "md-nav__list" data-md-scrollfix >
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
< li class = "md-nav__item md-nav__item--nested" >
2021-09-26 08:38:19 +00:00
2023-04-08 09:54:44 +00:00
< input class = "md-nav__toggle md-toggle md-toggle--indeterminate" type = "checkbox" id = "__nav_5_1" >
2021-09-26 08:38:19 +00:00
2023-04-08 09:54:44 +00:00
< label class = "md-nav__link" for = "__nav_5_1" id = "__nav_5_1_label" tabindex = "0" >
2021-09-26 08:38:19 +00:00
Tutorials
< span class = "md-nav__icon md-icon" > < / span >
< / label >
2023-04-08 09:54:44 +00:00
< nav class = "md-nav" data-md-level = "2" aria-labelledby = "__nav_5_1_label" aria-expanded = "false" >
2023-02-19 12:25:43 +00:00
< label class = "md-nav__title" for = "__nav_5_1" >
2021-03-28 12:40:56 +00:00
< span class = "md-nav__icon md-icon" > < / span >
Tutorials
< / label >
< ul class = "md-nav__list" data-md-scrollfix >
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
< li class = "md-nav__item" >
< a href = "../../examples/tutorials/basic-installation/" class = "md-nav__link" >
Basic Installation
< / a >
< / li >
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
< li class = "md-nav__item" >
< a href = "../../examples/tutorials/mailserver-behind-proxy/" class = "md-nav__link" >
2021-09-27 07:02:06 +00:00
Mailserver behind Proxy
< / a >
< / li >
< li class = "md-nav__item" >
< a href = "../../examples/tutorials/docker-build/" class = "md-nav__link" >
Building your own Docker image
2021-03-28 12:40:56 +00:00
< / a >
< / li >
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
2021-07-30 11:39:16 +00:00
2021-09-26 08:38:19 +00:00
2021-07-30 11:39:16 +00:00
< li class = "md-nav__item" >
< a href = "../../examples/tutorials/blog-posts/" class = "md-nav__link" >
Blog Posts
< / a >
< / li >
2021-09-26 08:38:19 +00:00
2021-07-30 11:39:16 +00:00
2021-03-28 12:40:56 +00:00
< / ul >
< / nav >
< / li >
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
< li class = "md-nav__item md-nav__item--nested" >
2021-09-26 08:38:19 +00:00
2023-04-08 09:54:44 +00:00
< input class = "md-nav__toggle md-toggle md-toggle--indeterminate" type = "checkbox" id = "__nav_5_2" >
2021-09-26 08:38:19 +00:00
2023-04-08 09:54:44 +00:00
< label class = "md-nav__link" for = "__nav_5_2" id = "__nav_5_2_label" tabindex = "0" >
2021-09-26 08:38:19 +00:00
Use Cases
< span class = "md-nav__icon md-icon" > < / span >
< / label >
2023-04-08 09:54:44 +00:00
< nav class = "md-nav" data-md-level = "2" aria-labelledby = "__nav_5_2_label" aria-expanded = "false" >
2023-02-19 12:25:43 +00:00
< label class = "md-nav__title" for = "__nav_5_2" >
2021-03-28 12:40:56 +00:00
< span class = "md-nav__icon md-icon" > < / span >
Use Cases
< / label >
< ul class = "md-nav__list" data-md-scrollfix >
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
< li class = "md-nav__item" >
2022-02-21 11:06:07 +00:00
< a href = "../../examples/use-cases/forward-only-mailserver-with-ldap-authentication/" class = "md-nav__link" >
2021-09-22 23:30:04 +00:00
Forward-Only Mail-Server with LDAP
2021-03-28 12:40:56 +00:00
< / a >
< / li >
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
2021-06-22 22:29:09 +00:00
2021-09-26 08:38:19 +00:00
2021-06-22 22:29:09 +00:00
< li class = "md-nav__item" >
2022-02-21 11:06:07 +00:00
< a href = "../../examples/use-cases/imap-folders/" class = "md-nav__link" >
2021-06-22 22:29:09 +00:00
Customize IMAP Folders
< / a >
< / li >
2021-09-26 08:38:19 +00:00
2021-06-22 22:29:09 +00:00
2021-03-28 12:40:56 +00:00
< / ul >
< / nav >
< / li >
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
< / ul >
< / nav >
< / li >
< li class = "md-nav__item" >
< a href = "../../faq/" class = "md-nav__link" >
FAQ
< / a >
< / li >
< li class = "md-nav__item md-nav__item--active md-nav__item--nested" >
2021-09-26 08:38:19 +00:00
2023-04-08 09:54:44 +00:00
< input class = "md-nav__toggle md-toggle " type = "checkbox" id = "__nav_7" checked >
2021-09-26 08:38:19 +00:00
2023-04-08 09:54:44 +00:00
< label class = "md-nav__link" for = "__nav_7" id = "__nav_7_label" tabindex = "0" >
2021-09-26 08:38:19 +00:00
Contributing
< span class = "md-nav__icon md-icon" > < / span >
< / label >
2023-04-08 09:54:44 +00:00
< nav class = "md-nav" data-md-level = "1" aria-labelledby = "__nav_7_label" aria-expanded = "true" >
2023-02-19 12:25:43 +00:00
< label class = "md-nav__title" for = "__nav_7" >
2021-03-28 12:40:56 +00:00
< span class = "md-nav__icon md-icon" > < / span >
Contributing
< / label >
< ul class = "md-nav__list" data-md-scrollfix >
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
2022-09-23 06:23:55 +00:00
2021-03-28 12:40:56 +00:00
2022-09-23 06:23:55 +00:00
< li class = "md-nav__item md-nav__item--active" >
2023-04-08 09:54:44 +00:00
< input class = "md-nav__toggle md-toggle" type = "checkbox" id = "__toc" >
2022-09-23 06:23:55 +00:00
< label class = "md-nav__link md-nav__link--active" for = "__toc" >
General Information
< span class = "md-nav__icon md-icon" > < / span >
< / label >
< a href = "./" class = "md-nav__link md-nav__link--active" >
General Information
2021-03-28 12:40:56 +00:00
< / a >
2022-09-23 06:23:55 +00:00
2021-03-28 12:40:56 +00:00
2022-09-23 06:23:55 +00:00
< nav class = "md-nav md-nav--secondary" aria-label = "Table of contents" >
2021-03-28 12:40:56 +00:00
2022-09-23 06:23:55 +00:00
< label class = "md-nav__title" for = "__toc" >
< span class = "md-nav__icon md-icon" > < / span >
Table of contents
< / label >
< ul class = "md-nav__list" data-md-component = "toc" data-md-scrollfix >
2021-03-28 12:40:56 +00:00
2022-09-23 06:23:55 +00:00
< li class = "md-nav__item" >
< a href = "#coding-style" class = "md-nav__link" >
Coding Style
< / a >
< / li >
2021-03-28 12:40:56 +00:00
2022-09-23 06:23:55 +00:00
< li class = "md-nav__item" >
< a href = "#documentation" class = "md-nav__link" >
Documentation
< / a >
< / li >
2021-04-18 11:25:31 +00:00
2022-09-23 06:23:55 +00:00
< / ul >
< / nav >
2021-03-28 12:40:56 +00:00
< / li >
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
2023-01-24 22:11:18 +00:00
< li class = "md-nav__item" >
< a href = "../tests/" class = "md-nav__link" >
Tests
< / a >
< / li >
2021-03-28 12:40:56 +00:00
< li class = "md-nav__item" >
2022-09-23 06:23:55 +00:00
< a href = "../issues-and-pull-requests/" class = "md-nav__link" >
Issues and Pull Requests
2021-03-28 12:40:56 +00:00
< / a >
< / li >
2021-09-26 08:38:19 +00:00
2021-03-28 12:40:56 +00:00
< / ul >
< / nav >
< / li >
< li class = "md-nav__item" >
2021-09-13 07:04:09 +00:00
< a href = "https://hub.docker.com/r/mailserver/docker-mailserver/" class = "md-nav__link" >
2021-03-28 12:40:56 +00:00
DockerHub
< / a >
< / li >
< li class = "md-nav__item" >
2021-09-13 07:04:09 +00:00
< a href = "https://github.com/docker-mailserver/docker-mailserver/pkgs/container/docker-mailserver" class = "md-nav__link" >
2021-03-28 12:40:56 +00:00
GHCR
< / a >
< / li >
< / ul >
< / nav >
< / div >
< / div >
< / div >
2022-07-08 15:17:56 +00:00
< div class = "md-sidebar md-sidebar--secondary" data-md-component = "sidebar" data-md-type = "toc" >
< div class = "md-sidebar__scrollwrap" >
< div class = "md-sidebar__inner" >
< nav class = "md-nav md-nav--secondary" aria-label = "Table of contents" >
2022-09-23 06:23:55 +00:00
< label class = "md-nav__title" for = "__toc" >
< span class = "md-nav__icon md-icon" > < / span >
Table of contents
< / label >
< ul class = "md-nav__list" data-md-component = "toc" data-md-scrollfix >
< li class = "md-nav__item" >
< a href = "#coding-style" class = "md-nav__link" >
Coding Style
< / a >
< / li >
< li class = "md-nav__item" >
< a href = "#documentation" class = "md-nav__link" >
Documentation
< / a >
< / li >
< / ul >
2022-07-08 15:17:56 +00:00
< / nav >
< / div >
< / div >
< / div >
2021-03-28 12:40:56 +00:00
2023-04-08 09:54:44 +00:00
< div class = "md-content" data-md-component = "content" >
< article class = "md-content__inner md-typeset" >
2021-03-28 12:40:56 +00:00
2023-04-08 09:54:44 +00:00
2021-12-13 07:43:26 +00:00
2023-04-08 09:54:44 +00:00
2023-05-14 21:55:18 +00:00
< a href = "https://github.com/docker-mailserver/docker-mailserver/edit/master/docs/content/contributing/general.md" title = "Edit this page" class = "md-content__button md-icon" >
< svg xmlns = "http://www.w3.org/2000/svg" viewBox = "0 0 24 24" > < path d = "M10 20H6V4h7v5h5v3.1l2-2V8l-6-6H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h4v-2m10.2-7c.1 0 .3.1.4.2l1.3 1.3c.2.2.2.6 0 .8l-1 1-2.1-2.1 1-1c.1-.1.2-.2.4-.2m0 3.9L14.1 23H12v-2.1l6.1-6.1 2.1 2.1Z" / > < / svg >
< / a >
< a href = "https://github.com/docker-mailserver/docker-mailserver/raw/master/docs/content/contributing/general.md" title = "View source of this page" class = "md-content__button md-icon" >
< svg xmlns = "http://www.w3.org/2000/svg" viewBox = "0 0 24 24" > < path d = "M17 18c.56 0 1 .44 1 1s-.44 1-1 1-1-.44-1-1 .44-1 1-1m0-3c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5M9.27 20H6V4h7v5h5v4.07c.7.08 1.36.25 2 .49V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.5a8.15 8.15 0 0 1-1.23-2Z" / > < / svg >
< / a >
2023-04-08 09:54:44 +00:00
2021-12-13 07:43:26 +00:00
2022-02-19 20:27:29 +00:00
2022-09-23 06:23:55 +00:00
< h1 > General Information< / h1 >
2021-12-13 07:43:26 +00:00
2022-09-23 06:23:55 +00:00
< h2 id = "coding-style" > < a class = "toclink" href = "#coding-style" > Coding Style< / a > < / h2 >
< p > When refactoring, writing or altering scripts or other files, adhere to these rules:< / p >
< ol >
< li > < strong > Adjust your style of coding to the style that is already present< / strong > ! Even if you do not like it, this is due to consistency. There was a lot of work involved in making all scripts consistent.< / li >
< li > < strong > Use < code > shellcheck< / code > to check your scripts< / strong > ! Your contributions are checked by GitHub Actions too, so you will need to do this. You can < strong > lint your work with < code > make lint< / code > < / strong > to check against all targets.< / li >
< li > < strong > Use the provided < code > .editorconfig< / code > < / strong > file.< / li >
< li > Use < code > /bin/bash< / code > instead of < code > /bin/sh< / code > in scripts< / li >
< / ol >
< h2 id = "documentation" > < a class = "toclink" href = "#documentation" > Documentation< / a > < / h2 >
2023-05-15 04:39:19 +00:00
< p > Make sure to select < code > edge< / code > in the dropdown menu at the top. Navigate to the page you would like to edit and click the edit button in the top right. This allows you to make changes and create a pull-request.< / p >
< p > Alternatively you can make the changes locally. For that you'll need to have Docker installed. Navigate into the < code > docs/< / code > directory. Then run:< / p >
2023-04-08 09:54:44 +00:00
< div class = "highlight" > < pre > < span > < / span > < code > docker< span class = "w" > < / span > run< span class = "w" > < / span > --rm< span class = "w" > < / span > -it< span class = "w" > < / span > -p< span class = "w" > < / span > < span class = "m" > 8000< / span > :8000< span class = "w" > < / span > -v< span class = "w" > < / span > < span class = "s2" > " < / span > < span class = "si" > ${< / span > < span class = "nv" > PWD< / span > < span class = "si" > }< / span > < span class = "s2" > :/docs" < / span > < span class = "w" > < / span > squidfunk/mkdocs-material
2022-09-23 06:23:55 +00:00
< / code > < / pre > < / div >
< p > This serves the documentation on your local machine on port < code > 8000< / code > . Each change will be hot-reloaded onto the page you view, just edit, save and look at the result.< / p >
2021-03-28 12:40:56 +00:00
2023-04-08 09:54:44 +00:00
< / article >
< / div >
2021-03-28 12:40:56 +00:00
< / div >
2021-04-01 20:45:17 +00:00
2023-04-08 09:54:44 +00:00
< button type = "button" class = "md-top md-icon" data-md-component = "top" hidden >
2022-07-08 15:17:56 +00:00
< svg xmlns = "http://www.w3.org/2000/svg" viewBox = "0 0 24 24" > < path d = "M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z" / > < / svg >
2021-07-29 20:46:21 +00:00
Back to top
2023-04-08 09:54:44 +00:00
< / button >
2021-04-08 10:28:06 +00:00
2021-03-28 12:40:56 +00:00
< / main >
2021-12-13 07:43:26 +00:00
< footer class = "md-footer" >
2021-03-28 12:40:56 +00:00
< div class = "md-footer-meta md-typeset" >
< div class = "md-footer-meta__inner md-grid" >
2021-12-13 07:43:26 +00:00
< div class = "md-copyright" >
< div class = "md-copyright__highlight" >
< p > & copy < a href = "https://github.com/docker-mailserver" > < em > Docker Mailserver Organization< / em > < / a > < br / > < span > This project is licensed under the MIT license.< / span > < / p >
< / div >
Made with
< a href = "https://squidfunk.github.io/mkdocs-material/" target = "_blank" rel = "noopener" >
Material for MkDocs
< / a >
< / div >
2021-03-28 12:40:56 +00:00
< / div >
< / div >
< / footer >
< / div >
< div class = "md-dialog" data-md-component = "dialog" >
< div class = "md-dialog__inner md-typeset" > < / div >
< / div >
2023-04-08 09:54:44 +00:00
2023-05-14 21:55:18 +00:00
< script id = "__config" type = "application/json" > { "base" : "../.." , "features" : [ "navigation.tabs" , "navigation.top" , "navigation.expand" , "navigation.instant" , "content.action.edit" , "content.action.view" , "content.code.annotate" ] , "search" : "../../assets/javascripts/workers/search.208ed371.min.js" , "translations" : { "clipboard.copied" : "Copied to clipboard" , "clipboard.copy" : "Copy to clipboard" , "search.result.more.one" : "1 more on this page" , "search.result.more.other" : "# more on this page" , "search.result.none" : "No matching documents" , "search.result.one" : "1 matching document" , "search.result.other" : "# matching documents" , "search.result.placeholder" : "Type to start searching" , "search.result.term.missing" : "Missing" , "select.version" : "Select version" } , "version" : { "provider" : "mike" } } < / script >
2021-03-28 12:40:56 +00:00
2023-04-08 09:54:44 +00:00
< script src = "../../assets/javascripts/bundle.407015b8.min.js" > < / script >
2021-03-28 12:40:56 +00:00
< / body >
< / html >