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)" >
< link rel = "canonical" href = "https://docker-mailserver.github.io/docker-mailserver/edge/examples/tutorials/mailserver-behind-proxy/" >
< link rel = "icon" href = "../../../assets/logo/favicon-32x32.png" >
2022-07-08 15:17:56 +00:00
< meta name = "generator" content = "mkdocs-1.3.0, mkdocs-material-8.3.5" >
2021-03-28 12:40:56 +00:00
2021-09-22 23:30:04 +00:00
< title > Tutorials | Mail-Server behind a Proxy - Docker Mailserver< / title >
2021-03-28 12:40:56 +00:00
2022-07-08 15:17:56 +00:00
< link rel = "stylesheet" href = "../../../assets/stylesheets/main.4a0965b7.min.css" >
2021-03-28 12:40:56 +00:00
2022-07-08 15:17:56 +00:00
< link rel = "stylesheet" href = "../../../assets/stylesheets/palette.cbb835fc.min.css" >
2021-03-28 12:40:56 +00:00
2022-07-08 15:17:56 +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" >
2021-12-13 07:43:26 +00:00
< script > _ _md _scope = new URL ( "../../.." , location ) , _ _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
< / 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" >
< a href = "#using-docker-mailserver-behind-a-proxy" class = "md-skip" >
Skip to content
< / a >
< / div >
< div data-md-component = "announce" >
< / div >
2021-12-13 07:43:26 +00:00
< div data-md-component = "outdated" hidden >
< aside class = "md-banner md-banner--warning" >
< / aside >
< / 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" >
2021-09-22 23:30:04 +00:00
Tutorials | Mail-Server behind a Proxy
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" >
< button type = "reset" class = "md-search__icon md-icon" 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 >
< ol class = "md-search-result__list" > < / ol >
< / 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" >
2022-04-03 11:29:35 +00:00
< svg xmlns = "http://www.w3.org/2000/svg" viewBox = "0 0 496 512" > <!-- ! Font Awesome Free 6.1.1 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 2022 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" >
< div class = "md-tabs__inner md-grid" >
< 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 >
< li class = "md-tabs__item" >
< a href = "../../../config/setup.sh/" class = "md-tabs__link" >
Configuration
< / a >
< / li >
< li class = "md-tabs__item" >
< a href = "../basic-installation/" class = "md-tabs__link md-tabs__link--active" >
Examples
< / a >
< / li >
< li class = "md-tabs__item" >
< a href = "../../../faq/" class = "md-tabs__link" >
FAQ
< / a >
< / li >
< li class = "md-tabs__item" >
< a href = "../../../contributing/issues-and-pull-requests/" class = "md-tabs__link" >
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" >
2022-04-03 11:29:35 +00:00
< svg xmlns = "http://www.w3.org/2000/svg" viewBox = "0 0 496 512" > <!-- ! Font Awesome Free 6.1.1 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 2022 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 >
< li class = "md-nav__item md-nav__item--nested" >
2022-07-08 15:17:56 +00:00
< input class = "md-nav__toggle md-toggle md-toggle--indeterminate" data-md-toggle = "__nav_3" type = "checkbox" id = "__nav_3" checked >
2021-03-28 12:40:56 +00:00
2021-09-26 08:38:19 +00:00
< label class = "md-nav__link" for = "__nav_3" >
Configuration
< span class = "md-nav__icon md-icon" > < / span >
< / label >
2021-03-28 12:40:56 +00:00
< nav class = "md-nav" aria-label = "Configuration" data-md-level = "1" >
< label class = "md-nav__title" for = "__nav_3" >
< 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" >
< a href = "../../../config/setup.sh/" class = "md-nav__link" >
Your Best Friend setup.sh
< / 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
2021-05-11 10:16:04 +00:00
< li class = "md-nav__item" >
< a href = "../../../config/environment/" class = "md-nav__link" >
Environment Variables
< / a >
< / li >
2021-09-26 08:38:19 +00:00
2021-05-11 10:16:04 +00:00
2021-09-26 08:38:19 +00:00
2021-05-11 10:16:04 +00:00
2021-03-28 12:40:56 +00:00
< li class = "md-nav__item md-nav__item--nested" >
2022-07-08 15:17:56 +00:00
< input class = "md-nav__toggle md-toggle md-toggle--indeterminate" data-md-toggle = "__nav_3_3" type = "checkbox" id = "__nav_3_3" checked >
2021-03-28 12:40:56 +00:00
2021-09-26 08:38:19 +00:00
< label class = "md-nav__link" for = "__nav_3_3" >
User Management
< span class = "md-nav__icon md-icon" > < / span >
< / label >
2021-03-28 12:40:56 +00:00
< nav class = "md-nav" aria-label = "User Management" data-md-level = "2" >
2021-05-11 10:16:04 +00:00
< label class = "md-nav__title" for = "__nav_3_3" >
2021-03-28 12:40:56 +00:00
< span class = "md-nav__icon md-icon" > < / span >
User Management
< / 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/user-management/accounts/" class = "md-nav__link" >
Accounts
< / 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/user-management/aliases/" class = "md-nav__link" >
Aliases
< / 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" >
2022-07-08 15:17:56 +00:00
< input class = "md-nav__toggle md-toggle md-toggle--indeterminate" data-md-toggle = "__nav_3_4" type = "checkbox" id = "__nav_3_4" checked >
2021-03-28 12:40:56 +00:00
2021-09-26 08:38:19 +00:00
< label class = "md-nav__link" for = "__nav_3_4" >
Best Practices
< span class = "md-nav__icon md-icon" > < / span >
< / label >
2021-03-28 12:40:56 +00:00
< nav class = "md-nav" aria-label = "Best Practices" data-md-level = "2" >
2021-05-11 10:16:04 +00:00
< label class = "md-nav__title" for = "__nav_3_4" >
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" >
< a href = "../../../config/best-practices/dkim/" class = "md-nav__link" >
DKIM
< / 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/dmarc/" class = "md-nav__link" >
DMARC
< / 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/spf/" class = "md-nav__link" >
SPF
< / 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" >
2022-07-08 15:17:56 +00:00
< input class = "md-nav__toggle md-toggle md-toggle--indeterminate" data-md-toggle = "__nav_3_5" type = "checkbox" id = "__nav_3_5" checked >
2021-03-28 12:40:56 +00:00
2021-09-26 08:38:19 +00:00
< label class = "md-nav__link" for = "__nav_3_5" >
Security
< span class = "md-nav__icon md-icon" > < / span >
< / label >
2021-03-28 12:40:56 +00:00
< nav class = "md-nav" aria-label = "Security" data-md-level = "2" >
2021-05-11 10:16:04 +00:00
< label class = "md-nav__title" for = "__nav_3_5" >
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
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" >
2022-07-08 15:17:56 +00:00
< input class = "md-nav__toggle md-toggle md-toggle--indeterminate" data-md-toggle = "__nav_3_6" type = "checkbox" id = "__nav_3_6" checked >
2021-03-28 12:40:56 +00:00
2021-09-26 08:38:19 +00:00
< label class = "md-nav__link" for = "__nav_3_6" >
Troubleshooting
< span class = "md-nav__icon md-icon" > < / span >
< / label >
2021-03-28 12:40:56 +00:00
< nav class = "md-nav" aria-label = "Troubleshooting" data-md-level = "2" >
2021-05-11 10:16:04 +00:00
< label class = "md-nav__title" for = "__nav_3_6" >
2021-03-28 12:40:56 +00:00
< span class = "md-nav__icon md-icon" > < / span >
Troubleshooting
< / 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/troubleshooting/debugging/" class = "md-nav__link" >
Debugging
< / 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/pop3/" class = "md-nav__link" >
Mail Delivery with POP3
< / 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" >
2022-07-08 15:17:56 +00:00
< input class = "md-nav__toggle md-toggle md-toggle--indeterminate" data-md-toggle = "__nav_3_8" type = "checkbox" id = "__nav_3_8" checked >
2021-03-28 12:40:56 +00:00
2021-09-26 08:38:19 +00:00
< label class = "md-nav__link" for = "__nav_3_8" >
Advanced Configuration
< span class = "md-nav__icon md-icon" > < / span >
< / label >
2021-03-28 12:40:56 +00:00
< nav class = "md-nav" aria-label = "Advanced Configuration" data-md-level = "2" >
2021-05-11 10:16:04 +00:00
< label class = "md-nav__title" for = "__nav_3_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" >
2022-07-08 15:17:56 +00:00
< input class = "md-nav__toggle md-toggle md-toggle--indeterminate" data-md-toggle = "__nav_3_8_2" type = "checkbox" id = "__nav_3_8_2" checked >
2021-03-28 12:40:56 +00:00
2021-09-26 08:38:19 +00:00
< label class = "md-nav__link" for = "__nav_3_8_2" >
Maintenance
< span class = "md-nav__icon md-icon" > < / span >
< / label >
2021-03-28 12:40:56 +00:00
< nav class = "md-nav" aria-label = "Maintenance" data-md-level = "3" >
2021-05-11 10:16:04 +00:00
< label class = "md-nav__title" for = "__nav_3_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" >
2022-07-08 15:17:56 +00:00
< input class = "md-nav__toggle md-toggle md-toggle--indeterminate" data-md-toggle = "__nav_3_8_3" type = "checkbox" id = "__nav_3_8_3" checked >
2021-03-28 12:40:56 +00:00
2021-09-26 08:38:19 +00:00
< label class = "md-nav__link" for = "__nav_3_8_3" >
Override the Default Configs
< span class = "md-nav__icon md-icon" > < / span >
< / label >
2021-03-28 12:40:56 +00:00
< nav class = "md-nav" aria-label = "Override the Default Configs" data-md-level = "3" >
2021-05-11 10:16:04 +00:00
< label class = "md-nav__title" for = "__nav_3_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
< li class = "md-nav__item md-nav__item--nested" >
2022-07-08 15:17:56 +00:00
< input class = "md-nav__toggle md-toggle md-toggle--indeterminate" data-md-toggle = "__nav_3_8_7" type = "checkbox" id = "__nav_3_8_7" checked >
2021-03-28 12:40:56 +00:00
2021-09-26 08:38:19 +00:00
< label class = "md-nav__link" for = "__nav_3_8_7" >
Email Forwarding
< span class = "md-nav__icon md-icon" > < / span >
< / label >
2021-03-28 12:40:56 +00:00
< nav class = "md-nav" aria-label = "Email Forwarding" data-md-level = "3" >
2021-05-11 10:16:04 +00:00
< label class = "md-nav__title" for = "__nav_3_8_7" >
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--active md-nav__item--nested" >
< input class = "md-nav__toggle md-toggle" data-md-toggle = "__nav_4" type = "checkbox" id = "__nav_4" checked >
2021-09-26 08:38:19 +00:00
< label class = "md-nav__link" for = "__nav_4" >
Examples
< span class = "md-nav__icon md-icon" > < / span >
< / label >
2021-03-28 12:40:56 +00:00
< nav class = "md-nav" aria-label = "Examples" data-md-level = "1" >
< label class = "md-nav__title" for = "__nav_4" >
< 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--active md-nav__item--nested" >
< input class = "md-nav__toggle md-toggle" data-md-toggle = "__nav_4_1" type = "checkbox" id = "__nav_4_1" checked >
2021-09-26 08:38:19 +00:00
< label class = "md-nav__link" for = "__nav_4_1" >
Tutorials
< span class = "md-nav__icon md-icon" > < / span >
< / label >
2021-03-28 12:40:56 +00:00
< nav class = "md-nav" aria-label = "Tutorials" data-md-level = "2" >
< label class = "md-nav__title" for = "__nav_4_1" >
< 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 = "../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 md-nav__item--active" >
< input class = "md-nav__toggle md-toggle" data-md-toggle = "toc" type = "checkbox" id = "__toc" >
2021-04-18 11:25:31 +00:00
2021-03-28 12:40:56 +00:00
< label class = "md-nav__link md-nav__link--active" for = "__toc" >
2021-09-27 07:02:06 +00:00
Mailserver behind Proxy
2021-03-28 12:40:56 +00:00
< span class = "md-nav__icon md-icon" > < / span >
< / label >
< a href = "./" class = "md-nav__link md-nav__link--active" >
2021-09-27 07:02:06 +00:00
Mailserver behind Proxy
2021-03-28 12:40:56 +00:00
< / a >
2021-10-30 08:57:02 +00:00
2021-03-28 12:40:56 +00:00
< nav class = "md-nav md-nav--secondary" aria-label = "Table of contents" >
2021-04-18 11:25:31 +00:00
2021-03-28 12:40:56 +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 = "#using-docker-mailserver-behind-a-proxy" class = "md-nav__link" >
Using docker-mailserver behind a Proxy
< / a >
< nav class = "md-nav" aria-label = "Using docker-mailserver behind a Proxy" >
< ul class = "md-nav__list" >
< li class = "md-nav__item" >
< a href = "#information" class = "md-nav__link" >
Information
< / a >
< / li >
< li class = "md-nav__item" >
< a href = "#configuration-of-the-used-proxy-software" class = "md-nav__link" >
Configuration of the used Proxy Software
< / a >
< / li >
< li class = "md-nav__item" >
< a href = "#configuration-of-the-backend-dovecot-and-postfix" class = "md-nav__link" >
Configuration of the Backend (dovecot and postfix)
< / a >
< / li >
< / ul >
< / nav >
< / li >
< / ul >
< / nav >
< / 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
2021-09-27 07:02:06 +00:00
< li class = "md-nav__item" >
< a href = "../docker-build/" class = "md-nav__link" >
Building your own Docker image
< / a >
< / li >
2021-07-30 11:39:16 +00:00
< li class = "md-nav__item" >
< a href = "../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" >
2022-07-08 15:17:56 +00:00
< input class = "md-nav__toggle md-toggle md-toggle--indeterminate" data-md-toggle = "__nav_4_2" type = "checkbox" id = "__nav_4_2" checked >
2021-03-28 12:40:56 +00:00
2021-09-26 08:38:19 +00:00
< label class = "md-nav__link" for = "__nav_4_2" >
Use Cases
< span class = "md-nav__icon md-icon" > < / span >
< / label >
2021-03-28 12:40:56 +00:00
< nav class = "md-nav" aria-label = "Use Cases" data-md-level = "2" >
< label class = "md-nav__title" for = "__nav_4_2" >
< 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 = "../../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 = "../../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--nested" >
2022-07-08 15:17:56 +00:00
< input class = "md-nav__toggle md-toggle md-toggle--indeterminate" data-md-toggle = "__nav_6" type = "checkbox" id = "__nav_6" checked >
2021-03-28 12:40:56 +00:00
2021-09-26 08:38:19 +00:00
< label class = "md-nav__link" for = "__nav_6" >
Contributing
< span class = "md-nav__icon md-icon" > < / span >
< / label >
2021-03-28 12:40:56 +00:00
< nav class = "md-nav" aria-label = "Contributing" data-md-level = "1" >
< label class = "md-nav__title" for = "__nav_6" >
< 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
< li class = "md-nav__item" >
< a href = "../../../contributing/issues-and-pull-requests/" class = "md-nav__link" >
Issues and Pull Requests
< / 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 = "../../../contributing/coding-style/" class = "md-nav__link" >
Coding Style
< / 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 = "../../../contributing/tests/" class = "md-nav__link" >
Tests
< / 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 = "../../../contributing/documentation/" class = "md-nav__link" >
Documentation
< / 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 >
< 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" >
2021-10-30 08:57:02 +00:00
2021-03-28 12:40:56 +00:00
< nav class = "md-nav md-nav--secondary" aria-label = "Table of contents" >
2021-04-18 11:25:31 +00:00
2021-03-28 12:40:56 +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 = "#using-docker-mailserver-behind-a-proxy" class = "md-nav__link" >
Using docker-mailserver behind a Proxy
< / a >
< nav class = "md-nav" aria-label = "Using docker-mailserver behind a Proxy" >
< ul class = "md-nav__list" >
< li class = "md-nav__item" >
< a href = "#information" class = "md-nav__link" >
Information
< / a >
< / li >
< li class = "md-nav__item" >
< a href = "#configuration-of-the-used-proxy-software" class = "md-nav__link" >
Configuration of the used Proxy Software
< / a >
< / li >
< li class = "md-nav__item" >
< a href = "#configuration-of-the-backend-dovecot-and-postfix" class = "md-nav__link" >
Configuration of the Backend (dovecot and postfix)
< / a >
< / li >
< / ul >
< / nav >
< / li >
< / ul >
< / nav >
< / div >
< / div >
< / div >
< div class = "md-content" data-md-component = "content" >
< article class = "md-content__inner md-typeset" >
2022-07-08 15:17:56 +00:00
< a href = "https://github.com/docker-mailserver/docker-mailserver/edit/master/docs/content/examples/tutorials/mailserver-behind-proxy.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 = "M20.71 7.04c.39-.39.39-1.04 0-1.41l-2.34-2.34c-.37-.39-1.02-.39-1.41 0l-1.84 1.83 3.75 3.75M3 17.25V21h3.75L17.81 9.93l-3.75-3.75L3 17.25Z" / > < / svg >
< / a >
2021-12-13 07:43:26 +00:00
2022-02-19 20:27:29 +00:00
2021-12-13 07:43:26 +00:00
< h1 > Mailserver behind Proxy< / h1 >
< h2 id = "using-docker-mailserver-behind-a-proxy" > < a class = "toclink" href = "#using-docker-mailserver-behind-a-proxy" > Using < code > docker-mailserver< / code > behind a Proxy< / a > < / h2 >
2021-03-28 12:40:56 +00:00
< h3 id = "information" > < a class = "toclink" href = "#information" > Information< / a > < / h3 >
< p > If you are hiding your container behind a proxy service you might have discovered that the proxied requests from now on contain the proxy IP as the request origin. Whilst this behavior is technical correct it produces certain problems on the containers behind the proxy as they cannot distinguish the real origin of the requests anymore.< / p >
< p > To solve this problem on TCP connections we can make use of the < a href = "https://www.haproxy.org/download/1.8/doc/proxy-protocol.txt" > proxy protocol< / a > . Compared to other workarounds that exist (< code > X-Forwarded-For< / code > which only works for HTTP requests or < code > Tproxy< / code > that requires you to recompile your kernel) the proxy protocol:< / p >
< ul >
< li > It is protocol agnostic (can work with any layer 7 protocols, even when encrypted).< / li >
< li > It does not require any infrastructure changes.< / li >
< li > NAT-ing firewalls have no impact it.< / li >
< li > It is scalable.< / li >
< / ul >
< p > There is only one condition: < strong > both endpoints< / strong > of the connection MUST be compatible with proxy protocol.< / p >
< p > Luckily < code > dovecot< / code > and < code > postfix< / code > are both Proxy-Protocol ready softwares so it depends only on your used reverse-proxy / loadbalancer.< / p >
< h3 id = "configuration-of-the-used-proxy-software" > < a class = "toclink" href = "#configuration-of-the-used-proxy-software" > Configuration of the used Proxy Software< / a > < / h3 >
< p > The configuration depends on the used proxy system. I will provide the configuration examples of < a href = "https://traefik.io/" > traefik v2< / a > using IMAP and SMTP with implicit TLS.< / p >
2021-09-22 23:30:04 +00:00
< p > Feel free to add your configuration if you achieved the same goal using different proxy software below:< / p >
2021-12-13 07:43:26 +00:00
< details >
< summary > Traefik v2< / summary >
< p > Truncated configuration of traefik itself:< / p >
2022-01-27 17:13:38 +00:00
< div class = "highlight" > < pre > < span > < / span > < code > < span class = "nt" > version< / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "s" > ' 3.8' < / span > < span class = "w" > < / span >
< span class = "nt" > services< / span > < span class = "p" > :< / span > < span class = "w" > < / span >
< span class = "w" > < / span > < span class = "nt" > reverse-proxy< / span > < span class = "p" > :< / span > < span class = "w" > < / span >
< span class = "w" > < / span > < span class = "nt" > image< / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "l l-Scalar l-Scalar-Plain" > docker.io/traefik:latest< / span > < span class = "w" > < / span > < span class = "c1" > # v2.5< / span > < span class = "w" > < / span >
< span class = "w" > < / span > < span class = "nt" > container_name< / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "l l-Scalar l-Scalar-Plain" > docker-traefik< / span > < span class = "w" > < / span >
< span class = "w" > < / span > < span class = "nt" > restart< / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "l l-Scalar l-Scalar-Plain" > always< / span > < span class = "w" > < / span >
< span class = "w" > < / span > < span class = "nt" > command< / span > < span class = "p" > :< / span > < span class = "w" > < / span >
< span class = "w" > < / span > < span class = "p p-Indicator" > -< / span > < span class = "w" > < / span > < span class = "s" > " --providers.docker" < / span > < span class = "w" > < / span >
< span class = "w" > < / span > < span class = "p p-Indicator" > -< / span > < span class = "w" > < / span > < span class = "s" > " --providers.docker.exposedbydefault=false" < / span > < span class = "w" > < / span >
< span class = "w" > < / span > < span class = "p p-Indicator" > -< / span > < span class = "w" > < / span > < span class = "s" > " --providers.docker.network=proxy" < / span > < span class = "w" > < / span >
< span class = "w" > < / span > < span class = "p p-Indicator" > -< / span > < span class = "w" > < / span > < span class = "s" > " --entrypoints.web.address=:80" < / span > < span class = "w" > < / span >
< span class = "w" > < / span > < span class = "p p-Indicator" > -< / span > < span class = "w" > < / span > < span class = "s" > " --entryPoints.websecure.address=:443" < / span > < span class = "w" > < / span >
< span class = "w" > < / span > < span class = "p p-Indicator" > -< / span > < span class = "w" > < / span > < span class = "s" > " --entryPoints.smtp.address=:25" < / span > < span class = "w" > < / span >
< span class = "w" > < / span > < span class = "p p-Indicator" > -< / span > < span class = "w" > < / span > < span class = "s" > " --entryPoints.smtp-ssl.address=:465" < / span > < span class = "w" > < / span >
< span class = "w" > < / span > < span class = "p p-Indicator" > -< / span > < span class = "w" > < / span > < span class = "s" > " --entryPoints.imap-ssl.address=:993" < / span > < span class = "w" > < / span >
< span class = "w" > < / span > < span class = "p p-Indicator" > -< / span > < span class = "w" > < / span > < span class = "s" > " --entryPoints.sieve.address=:4190" < / span > < span class = "w" > < / span >
< span class = "w" > < / span > < span class = "nt" > ports< / span > < span class = "p" > :< / span > < span class = "w" > < / span >
< span class = "w" > < / span > < span class = "p p-Indicator" > -< / span > < span class = "w" > < / span > < span class = "s" > " 25:25" < / span > < span class = "w" > < / span >
< span class = "w" > < / span > < span class = "p p-Indicator" > -< / span > < span class = "w" > < / span > < span class = "s" > " 465:465" < / span > < span class = "w" > < / span >
< span class = "w" > < / span > < span class = "p p-Indicator" > -< / span > < span class = "w" > < / span > < span class = "s" > " 993:993" < / span > < span class = "w" > < / span >
< span class = "w" > < / span > < span class = "p p-Indicator" > -< / span > < span class = "w" > < / span > < span class = "s" > " 4190:4190" < / span > < span class = "w" > < / span >
< span class = "p p-Indicator" > [< / span > < span class = "nv" > ...< / span > < span class = "p p-Indicator" > ]< / span > < span class = "w" > < / span >
2021-03-28 12:40:56 +00:00
< / code > < / pre > < / div >
2021-09-22 23:30:04 +00:00
< p > Truncated list of necessary labels on the < code > docker-mailserver< / code > container:< / p >
2022-01-27 17:13:38 +00:00
< div class = "highlight" > < pre > < span > < / span > < code > < span class = "nt" > version< / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "s" > ' 3.8' < / span > < span class = "w" > < / span >
< span class = "nt" > services< / span > < span class = "p" > :< / span > < span class = "w" > < / span >
< span class = "w" > < / span > < span class = "nt" > mailserver< / span > < span class = "p" > :< / span > < span class = "w" > < / span >
< span class = "w" > < / span > < span class = "nt" > image< / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "l l-Scalar l-Scalar-Plain" > docker.io/mailserver/docker-mailserver:latest< / span > < span class = "w" > < / span >
< span class = "w" > < / span > < span class = "nt" > container_name< / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "l l-Scalar l-Scalar-Plain" > mailserver< / span > < span class = "w" > < / span >
< span class = "w" > < / span > < span class = "nt" > hostname< / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "l l-Scalar l-Scalar-Plain" > mail< / span > < span class = "w" > < / span >
< span class = "w" > < / span > < span class = "nt" > domainname< / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "l l-Scalar l-Scalar-Plain" > example.com< / span > < span class = "w" > < / span >
< span class = "w" > < / span > < span class = "nt" > restart< / span > < span class = "p" > :< / span > < span class = "w" > < / span > < span class = "l l-Scalar l-Scalar-Plain" > always< / span > < span class = "w" > < / span >
< span class = "w" > < / span > < span class = "nt" > networks< / span > < span class = "p" > :< / span > < span class = "w" > < / span >
< span class = "w" > < / span > < span class = "p p-Indicator" > -< / span > < span class = "w" > < / span > < span class = "l l-Scalar l-Scalar-Plain" > proxy< / span > < span class = "w" > < / span >
< span class = "w" > < / span > < span class = "nt" > labels< / span > < span class = "p" > :< / span > < span class = "w" > < / span >
< span class = "w" > < / span > < span class = "p p-Indicator" > -< / span > < span class = "w" > < / span > < span class = "s" > " traefik.enable=true" < / span > < span class = "w" > < / span >
< span class = "w" > < / span > < span class = "p p-Indicator" > -< / span > < span class = "w" > < / span > < span class = "s" > " traefik.tcp.routers.smtp.rule=HostSNI(`*`)" < / span > < span class = "w" > < / span >
< span class = "w" > < / span > < span class = "p p-Indicator" > -< / span > < span class = "w" > < / span > < span class = "s" > " traefik.tcp.routers.smtp.entrypoints=smtp" < / span > < span class = "w" > < / span >
< span class = "w" > < / span > < span class = "p p-Indicator" > -< / span > < span class = "w" > < / span > < span class = "s" > " traefik.tcp.routers.smtp.service=smtp" < / span > < span class = "w" > < / span >
< span class = "w" > < / span > < span class = "p p-Indicator" > -< / span > < span class = "w" > < / span > < span class = "s" > " traefik.tcp.services.smtp.loadbalancer.server.port=25" < / span > < span class = "w" > < / span >
< span class = "w" > < / span > < span class = "p p-Indicator" > -< / span > < span class = "w" > < / span > < span class = "s" > " traefik.tcp.services.smtp.loadbalancer.proxyProtocol.version=1" < / span > < span class = "w" > < / span >
< span class = "w" > < / span > < span class = "p p-Indicator" > -< / span > < span class = "w" > < / span > < span class = "s" > " traefik.tcp.routers.smtp-ssl.rule=HostSNI(`*`)" < / span > < span class = "w" > < / span >
< span class = "w" > < / span > < span class = "p p-Indicator" > -< / span > < span class = "w" > < / span > < span class = "s" > " traefik.tcp.routers.smtp-ssl.tls=false" < / span > < span class = "w" > < / span >
< span class = "w" > < / span > < span class = "p p-Indicator" > -< / span > < span class = "w" > < / span > < span class = "s" > " traefik.tcp.routers.smtp-ssl.entrypoints=smtp-ssl" < / span > < span class = "w" > < / span >
< span class = "w" > < / span > < span class = "p p-Indicator" > -< / span > < span class = "w" > < / span > < span class = "s" > " traefik.tcp.routers.smtp-ssl.service=smtp-ssl" < / span > < span class = "w" > < / span >
< span class = "w" > < / span > < span class = "p p-Indicator" > -< / span > < span class = "w" > < / span > < span class = "s" > " traefik.tcp.services.smtp-ssl.loadbalancer.server.port=465" < / span > < span class = "w" > < / span >
< span class = "w" > < / span > < span class = "p p-Indicator" > -< / span > < span class = "w" > < / span > < span class = "s" > " traefik.tcp.services.smtp-ssl.loadbalancer.proxyProtocol.version=1" < / span > < span class = "w" > < / span >
< span class = "w" > < / span > < span class = "p p-Indicator" > -< / span > < span class = "w" > < / span > < span class = "s" > " traefik.tcp.routers.imap-ssl.rule=HostSNI(`*`)" < / span > < span class = "w" > < / span >
< span class = "w" > < / span > < span class = "p p-Indicator" > -< / span > < span class = "w" > < / span > < span class = "s" > " traefik.tcp.routers.imap-ssl.entrypoints=imap-ssl" < / span > < span class = "w" > < / span >
< span class = "w" > < / span > < span class = "p p-Indicator" > -< / span > < span class = "w" > < / span > < span class = "s" > " traefik.tcp.routers.imap-ssl.service=imap-ssl" < / span > < span class = "w" > < / span >
< span class = "w" > < / span > < span class = "p p-Indicator" > -< / span > < span class = "w" > < / span > < span class = "s" > " traefik.tcp.services.imap-ssl.loadbalancer.server.port=10993" < / span > < span class = "w" > < / span >
< span class = "w" > < / span > < span class = "p p-Indicator" > -< / span > < span class = "w" > < / span > < span class = "s" > " traefik.tcp.services.imap-ssl.loadbalancer.proxyProtocol.version=2" < / span > < span class = "w" > < / span >
< span class = "w" > < / span > < span class = "p p-Indicator" > -< / span > < span class = "w" > < / span > < span class = "s" > " traefik.tcp.routers.sieve.rule=HostSNI(`*`)" < / span > < span class = "w" > < / span >
< span class = "w" > < / span > < span class = "p p-Indicator" > -< / span > < span class = "w" > < / span > < span class = "s" > " traefik.tcp.routers.sieve.entrypoints=sieve" < / span > < span class = "w" > < / span >
< span class = "w" > < / span > < span class = "p p-Indicator" > -< / span > < span class = "w" > < / span > < span class = "s" > " traefik.tcp.routers.sieve.service=sieve" < / span > < span class = "w" > < / span >
< span class = "w" > < / span > < span class = "p p-Indicator" > -< / span > < span class = "w" > < / span > < span class = "s" > " traefik.tcp.services.sieve.loadbalancer.server.port=4190" < / span > < span class = "w" > < / span >
< span class = "p p-Indicator" > [< / span > < span class = "nv" > ...< / span > < span class = "p p-Indicator" > ]< / span > < span class = "w" > < / span >
2021-03-28 12:40:56 +00:00
< / code > < / pre > < / div >
2021-08-13 08:33:34 +00:00
< p > Keep in mind that it is necessary to use port < code > 10993< / code > here. More information below at < code > dovecot< / code > configuration.< / p >
2021-03-28 12:40:56 +00:00
< / details >
< h3 id = "configuration-of-the-backend-dovecot-and-postfix" > < a class = "toclink" href = "#configuration-of-the-backend-dovecot-and-postfix" > Configuration of the Backend (< code > dovecot< / code > and < code > postfix< / code > )< / a > < / h3 >
2021-08-13 08:33:34 +00:00
< p > The following changes can be achieved completely by adding the content to the appropriate files by using the projects < a href = "../../../config/advanced/optional-config/" > function to overwrite config files< / a > .< / p >
2021-09-22 23:30:04 +00:00
< p > Changes for < code > postfix< / code > can be applied by adding the following content to < code > docker-data/dms/config/postfix-main.cf< / code > :< / p >
2022-01-27 17:13:38 +00:00
< div class = "highlight" > < pre > < span > < / span > < code > < span class = "na" > postscreen_upstream_proxy_protocol< / span > < span class = "w" > < / span > < span class = "o" > =< / span > < span class = "w" > < / span > < span class = "s" > haproxy< / span > < span class = "w" > < / span >
2021-03-28 12:40:56 +00:00
< / code > < / pre > < / div >
2021-09-22 23:30:04 +00:00
< p > and to < code > docker-data/dms/config/postfix-master.cf< / code > :< / p >
2022-01-27 17:13:38 +00:00
< div class = "highlight" > < pre > < span > < / span > < code > < span class = "na" > submission/inet/smtpd_upstream_proxy_protocol< / span > < span class = "o" > =< / span > < span class = "s" > haproxy< / span > < span class = "w" > < / span >
< span class = "na" > smtps/inet/smtpd_upstream_proxy_protocol< / span > < span class = "o" > =< / span > < span class = "s" > haproxy< / span > < span class = "w" > < / span >
2021-03-28 12:40:56 +00:00
< / code > < / pre > < / div >
2021-09-22 23:30:04 +00:00
< p > Changes for < code > dovecot< / code > can be applied by adding the following content to < code > docker-data/dms/config/dovecot.cf< / code > :< / p >
2022-01-27 17:13:38 +00:00
< div class = "highlight" > < pre > < span > < / span > < code > < span class = "na" > haproxy_trusted_networks< / span > < span class = "w" > < / span > < span class = "o" > =< / span > < span class = "w" > < / span > < span class = "s" > < your-proxy-ip> , < optional-cidr-notation> < / span > < span class = "w" > < / span >
< span class = "na" > haproxy_timeout< / span > < span class = "w" > < / span > < span class = "o" > =< / span > < span class = "w" > < / span > < span class = "s" > 3 secs< / span > < span class = "w" > < / span >
< span class = "na" > service imap-login {< / span > < span class = "w" > < / span >
< span class = "w" > < / span > < span class = "na" > inet_listener imaps {< / span > < span class = "w" > < / span >
< span class = "w" > < / span > < span class = "na" > haproxy< / span > < span class = "w" > < / span > < span class = "o" > =< / span > < span class = "w" > < / span > < span class = "s" > yes< / span > < span class = "w" > < / span >
< span class = "w" > < / span > < span class = "na" > ssl< / span > < span class = "w" > < / span > < span class = "o" > =< / span > < span class = "w" > < / span > < span class = "s" > yes< / span > < span class = "w" > < / span >
< span class = "w" > < / span > < span class = "na" > port< / span > < span class = "w" > < / span > < span class = "o" > =< / span > < span class = "w" > < / span > < span class = "s" > 10993< / span > < span class = "w" > < / span >
< span class = "w" > < / span > < span class = "na" > }< / span > < span class = "w" > < / span >
< span class = "na" > }< / span > < span class = "w" > < / span >
2021-03-28 12:40:56 +00:00
< / code > < / pre > < / div >
< div class = "admonition note" >
< p class = "admonition-title" > Note< / p >
< p > Port < code > 10993< / code > is used here to avoid conflicts with internal systems like < code > postscreen< / code > and < code > amavis< / code > as they will exchange messages on the default port and obviously have a different origin then compared to the proxy.< / p >
< / div >
< / article >
2022-07-08 15:17:56 +00:00
2021-03-28 12:40:56 +00:00
< / div >
< / div >
2021-04-01 20:45:17 +00:00
2022-07-08 15:17:56 +00:00
< a href = "#" class = "md-top md-icon" data-md-component = "top" hidden >
< 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
2021-04-08 10:28:06 +00:00
< / a >
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
2022-07-08 15:17:56 +00:00
< nav class = "md-footer__inner md-grid" aria-label = "Footer" >
2021-03-28 12:40:56 +00:00
2021-06-08 01:20:52 +00:00
< a href = "../basic-installation/" class = "md-footer__link md-footer__link--prev" aria-label = "Previous: Basic Installation" rel = "prev" >
2021-03-28 12:40:56 +00:00
< div class = "md-footer__button md-icon" >
2022-07-08 15:17:56 +00:00
< 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
< / div >
< div class = "md-footer__title" >
< div class = "md-ellipsis" >
< span class = "md-footer__direction" >
Previous
< / span >
Basic Installation
< / div >
< / div >
< / a >
2021-06-08 01:20:52 +00:00
2021-09-27 07:02:06 +00:00
< a href = "../docker-build/" class = "md-footer__link md-footer__link--next" aria-label = "Next: Building your own Docker image" rel = "next" >
2021-03-28 12:40:56 +00:00
< div class = "md-footer__title" >
< div class = "md-ellipsis" >
< span class = "md-footer__direction" >
Next
< / span >
2021-09-27 07:02:06 +00:00
Building your own Docker image
2021-03-28 12:40:56 +00:00
< / div >
< / div >
< div class = "md-footer__button md-icon" >
2022-07-08 15:17:56 +00:00
< svg xmlns = "http://www.w3.org/2000/svg" viewBox = "0 0 24 24" > < path d = "M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4Z" / > < / svg >
2021-03-28 12:40:56 +00:00
< / div >
< / a >
< / nav >
< 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 >
2022-07-08 15:17:56 +00:00
< script id = "__config" type = "application/json" > { "base" : "../../.." , "features" : [ "navigation.tabs" , "navigation.top" , "navigation.expand" , "navigation.instant" , "content.code.annotate" ] , "search" : "../../../assets/javascripts/workers/search.85cb4492.min.js" , "translations" : { "clipboard.copied" : "Copied to clipboard" , "clipboard.copy" : "Copy to clipboard" , "search.config.lang" : "en" , "search.config.pipeline" : "trimmer, stopWordFilter" , "search.config.separator" : "[\\s\\-]+" , "search.placeholder" : "Search" , "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.title" : "Select version" } , "version" : { "provider" : "mike" } } < / script >
2021-03-28 12:40:56 +00:00
2022-07-08 15:17:56 +00:00
< script src = "../../../assets/javascripts/bundle.431f3d41.min.js" > < / script >
2021-03-28 12:40:56 +00:00
< / body >
< / html >