{"id":13410998,"url":"https://github.com/stdevPavelmc/mailad","last_synced_at":"2025-03-14T16:33:32.306Z","repository":{"id":36332677,"uuid":"221502605","full_name":"stdevPavelmc/mailad","owner":"stdevPavelmc","description":"Software to provision a mail server with users from a Windows or Samba 4 Active Directory","archived":false,"fork":false,"pushed_at":"2023-12-26T17:35:13.000Z","size":1235,"stargazers_count":31,"open_issues_count":8,"forks_count":11,"subscribers_count":7,"default_branch":"master","last_synced_at":"2024-04-13T02:15:17.598Z","etag":null,"topics":["active-directory","debian","deploy","dovecot","hacktoberfest","mail","mail-server","mailserver","postfix","provision","rsat","samba","simple-mailserver","ubuntu"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/stdevPavelmc.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.GPLv3","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2019-11-13T16:22:42.000Z","updated_at":"2023-12-03T22:46:03.000Z","dependencies_parsed_at":"2024-02-04T06:44:03.054Z","dependency_job_id":null,"html_url":"https://github.com/stdevPavelmc/mailad","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stdevPavelmc%2Fmailad","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stdevPavelmc%2Fmailad/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stdevPavelmc%2Fmailad/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stdevPavelmc%2Fmailad/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stdevPavelmc","download_url":"https://codeload.github.com/stdevPavelmc/mailad/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243610670,"owners_count":20319009,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["active-directory","debian","deploy","dovecot","hacktoberfest","mail","mail-server","mailserver","postfix","provision","rsat","samba","simple-mailserver","ubuntu"],"created_at":"2024-07-30T20:01:10.730Z","updated_at":"2025-03-14T16:33:32.264Z","avatar_url":"https://github.com/stdevPavelmc.png","language":"Shell","readme":"# MailAD v1.1.8\n\n[![Chat on Telegram](https://img.shields.io/badge/Chat%20on-Telegram-brightgreen?style=flat-square)](https://t.me/MailAD_dev) [![Twitter Follow](https://img.shields.io/twitter/follow/co7wt?label=Follow\u0026style=flat-square)](https://twitter.com/co7wt) [![GitHub Issues](https://img.shields.io/github/issues/stdevPavelmc/mailad?style=flat-square)](https://github.com/stdevPavelmc/mailad/issues) [![GitHub Issues Closed](https://img.shields.io/github/issues-closed/stdevPavelmc/mailad?style=flat-square)](https://github.com/stdevPavelmc/mailad/issues?q=is%3Aissue+is%3Aclosed) [![GitHub repo size](https://img.shields.io/github/repo-size/stdevPavelmc/mailad?style=flat-square)](https://github.com/stdevPavelmc/mailad/archive/master.zip) [![GitHub last commit](https://img.shields.io/github/last-commit/stdevPavelmc/mailad?style=flat-square)](https://github.com/stdevPavelmc/mailad/commits/master) [![GitHub commit rate](https://img.shields.io/github/commit-activity/m/stdevPavelmc/mailad?style=flat-square)](https://github.com/stdevPavelmc/mailad/commits/master) [![Financial contributors](https://opencollective.com/mailad/tiers/badge.svg)](https://opencollective.com/mailad)\n\n\u003c!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section --\u003e\n[![All Contributors](https://img.shields.io/badge/all_contributors-11-orange.svg?style=flat-square)](#contributors-)\n\u003c!-- ALL-CONTRIBUTORS-BADGE:END --\u003e\n\n![MailAD Logo](./logos/MailAD-logo-full_white_background..png)\n\nThis page is also available in the following languages: [ [Español](i18n/README.es.md) 🇪🇸 🇨🇺] [ [Deutsch](i18n/README.de.md) 🇩🇪]\n\nThis is a handy tool to provision a mail server on linux linked to an Active Directory (AD from now on) server (Samba or Windows) with some constraints in mind, as this is a typical mail config to be used in Cuba as regulated by law and security enforcement requirements, but can be used on any domain. You can see a simple provision in [this asciinema movie](https://asciinema.org/a/fD1LuVLfeb8RPCHOIgbR1J9d8).\n\n## Notice\n\nWe have also some derived projects you can find interesting:\n\n- [MailAD-Docker](https://github.com/stdevPavelmc/mailad-docker/) a docker compose version of this software.\n- [MailD](https://github.com/stdevPavelmc/maild/) a Multi domain docker solution with no AD linking, an all web solution.\n- [MailAD ansible role](https://github.com/stdevPavelmc/mailad-ansible-role) an Ansible role for the mail server.\n\n## Rationale\n\nThis repository is intended to be cloned on your fresh OS install under `/root` (you can use a LXC instance, VM, etc) and setup on a main conf file as per the file comments, then run the steps on a makefile and follow the steps to configure your server.\n\nAfter a few steps you will have a mail server up and running in about 15 minutes tops. _(this time is based on a 2Mbps internet connection to a repository, if you have a local repository it will be less)_\n\nThis tool is tested and supported on:\n\n- Ubuntu Bionic 18.04 LTS (⚠️ legacy NOT recommended)\n- Ubuntu Focal 20.04 LTS (⚠️ legacy NOT recommended)\n- Ubuntu Jammy 22.04 LTS (⚠️ legacy NOT recommended)\n- Ubuntu Noble 24.04 LTS (✅ recommended, this is the development \u0026 testing platform)\n- Debian Buster 10 (⚠️ legacy NOT recommended)\n- Debian Bullseye 11 (⚠️ legacy NOT recommended)\n- Debian Bookworm 12 (✅ recommended)\n\n_**Note:** If you are using a a Debian buster or bullseye in a LXC Container (Proxmox for example) you need to tweak the dovecot install or it will not work, see [this fix](https://serverfault.com/questions/976250/dovecot-lxc-apparmor-denied-buster) for more info_\n\nIt's recommended that the instance of MailAD sits within your DMZ segment with a firewall between it and your users and a mail gateway like [Proxmox Mail Gateway](https://www.proxmox.com/en/proxmox-mail-gateway) between it and the external network.\n\n## Features\n\nThis will provision a mail server for an enterprise serving corporate users. You can see the major features in the [Features.md](Features.md) file, among others you will find:\n\n0. Low resource footprint.\n0. Advanced (and optional) mail filtering features that includes attachments, SPF, AntiVirus \u0026 Spam.\n0. Encrypted LDAP communication as an option.\n0. In place protection to major and known SSL \u0026 mail service attacks.\n0. Automatic alias using AD groups.\n0. Manual alias, manual ban, manual headers \u0026 body checks.\n0. On demand backup and restore of raw configurations.\n0. Really painless upgrades.\n0. Daily mail traffic summary to your inbox.\n0. Optional user privilege access via AD groups (local/national/international).\n0. Optional disclaimer/notice/warning on every outgoing mail.\n0. Optional aggressive SPAM fight measures.\n0. Weekly background check for new versions with a detailed email if you need to upgrade.\n0. Optional mailbox split by office/city/country\n\n## TODO\n\nThere is a [TODO list](TODO.md), which serves as a kind of \"roadmap\" for new features, but as I (the only dev so far) have a life, a family and a daily job, you know...\n\nAll dev is made on weekend or late at night (seriously take a peek on the commit dates!) if you need a feature or fix ASAP, please take into account making a donation or found me and I will be happy to help you ASAP, my contact info is on the bottom of this page.\n\n## Constraints and requirements\n\nDo you remember the comment at top of the page about _\"...with some constraints in mind...\"?_ Yeah, here they are:\n\n0. Your user base and config came from AD as mentioned, we prefer Samba AD but it works on Windows too; see [the AD requirements for this tool](AD_Requirements.md)\n0. The username part of the email must not pass the 20 chars mark, so `thisisalongemailaddress@domain.com` will be cut to `thisisalongemailaddr@domain.com` this is not our rule, but a handycap of the LDAP directory as specified by Windows Schema.\n0. The mail storage will be a folder in `/home/vmail`, all mail will belong to a user named `vmail` with uid:5000 \u0026 gid:5000. Tip: that folder can be a NFS mount or any other type of network storage (configurable)\n0. You use a Windows PC to control and manage the domain (must be a domain member and have the RSAT installed and activated), we recommend a Windows 10 LTSC/Professional\n0. The communication with the server is done in this way: (See [this question](FAQ.md#what-ports-i-need-to-get-open-to-make-sure-the-servers-works-ok) on the FAQ file to know more)\n    - Port 25 (SMTP) is used to receive incoming traffic from the outside world or from a mail gateway.\n    - Port 587 (SUBMISSION) is used to receive emails from the users to be delivered locally or relayed to other servers.\n    - Port 465 (SMTPS) is used like port 587 but is only enabled as a legacy option, its use is discouraged in favor of port 587.\n    - Port 993 (IMAPS) the preffered method to retrieve the email form the server.\n    - Port 995 (POP3S) used like the 993, but discouraged in favor of IMAPS (unless you are in a very slow link)\n\n## How to install or try it?\n\nWe have a [INSTALL.md](INSTALL.md) file just for that, and also a [FAQ](FAQ.md) file with common problems.\n\n## This is free software!\n\nHave a comment, question, contributions or fix?\n\nUse the Issues tab in the repository URL or drop me a message via [Twitter](https://twitter.com/co7wt) or [Telegram](https://t.me/pavelmc)\n\n## Contributors ✨\n\nThanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --\u003e\n\u003c!-- prettier-ignore-start --\u003e\n\u003c!-- markdownlint-disable --\u003e\n\u003ctable\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/danny920825\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/33090194?v=4?s=100\" width=\"100px;\" alt=\"danny920825\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003edanny920825\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/stdevPavelmc/mailad/commits?author=danny920825\" title=\"Tests\"\u003e⚠️\u003c/a\u003e \u003ca href=\"#ideas-danny920825\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/HugoFlorentino\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/11479345?v=4?s=100\" width=\"100px;\" alt=\"HugoFlorentino\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eHugoFlorentino\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#ideas-HugoFlorentino\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e \u003ca href=\"#example-HugoFlorentino\" title=\"Examples\"\u003e💡\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://www.sysadminsdecuba.com\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/12705691?v=4?s=100\" width=\"100px;\" alt=\"Armando Felipe\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eArmando Felipe\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#ideas-armandofcom\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/Koratsuki\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/20727446?v=4?s=100\" width=\"100px;\" alt=\"Koratsuki\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eKoratsuki\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#ideas-Koratsuki\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e \u003ca href=\"https://github.com/stdevPavelmc/mailad/commits?author=Koratsuki\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"#translation-Koratsuki\" title=\"Translation\"\u003e🌍\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"http://www.daxslab.com\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/13596248?v=4?s=100\" width=\"100px;\" alt=\"Gabriel A. López López\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eGabriel A. López López\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#translation-glpzzz\" title=\"Translation\"\u003e🌍\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/oneohthree\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/7398832?v=4?s=100\" width=\"100px;\" alt=\"oneohthree\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eoneohthree\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#ideas-oneohthree\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"http://iskra.ml\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/6555851?v=4?s=100\" width=\"100px;\" alt=\"Eddy Ernesto del Valle Pino\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eEddy Ernesto del Valle Pino\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/stdevPavelmc/mailad/commits?author=edelvalle\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/dienteperro\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/5240140?v=4?s=100\" width=\"100px;\" alt=\"dienteperro\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003edienteperro\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/stdevPavelmc/mailad/commits?author=dienteperro\" title=\"Documentation\"\u003e📖\u003c/a\u003e \u003ca href=\"#financial-dienteperro\" title=\"Financial\"\u003e💵\u003c/a\u003e \u003ca href=\"#ideas-dienteperro\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"http://jjrweb.byethost8.com/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/11667019?v=4?s=100\" width=\"100px;\" alt=\"Joe1962\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eJoe1962\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#ideas-Joe1962\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e \u003ca href=\"https://github.com/stdevPavelmc/mailad/commits?author=Joe1962\" title=\"Tests\"\u003e⚠️\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/sandy-cmg\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/101523070?v=4?s=100\" width=\"100px;\" alt=\"Sandy Napoles Umpierre\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eSandy Napoles Umpierre\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#ideas-sandy-cmg\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e \u003ca href=\"https://github.com/stdevPavelmc/mailad/commits?author=sandy-cmg\" title=\"Tests\"\u003e⚠️\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://cz9dev.github.io/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/97544746?v=4?s=100\" width=\"100px;\" alt=\"Carlos Zaldívar\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eCarlos Zaldívar\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/stdevPavelmc/mailad/commits?author=cz9dev\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"#translation-cz9dev\" title=\"Translation\"\u003e🌍\u003c/a\u003e \u003ca href=\"https://github.com/stdevPavelmc/mailad/commits?author=cz9dev\" title=\"Tests\"\u003e⚠️\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\n\u003c!-- markdownlint-restore --\u003e\n\u003c!-- prettier-ignore-end --\u003e\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n\nPlease read the [CONTRIBUTING.md](CONTRIBUTING.md) file if you want to contribute to MailAD to know the details of how to do it. All kinds of contributions are welcomed, ideas, fixes, bugs, improvements and even a phone top-up to keep me online.\n\nThis project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!\n","funding_links":["https://opencollective.com/mailad"],"categories":["System"],"sub_categories":["Engineering Calculations"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FstdevPavelmc%2Fmailad","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FstdevPavelmc%2Fmailad","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FstdevPavelmc%2Fmailad/lists"}