Skip to content
atErik edited this page Aug 16, 2020 · 28 revisions

Welcome to the Mail-Server-Scripts wiki !

We are including Mail Server installation, configuration, etc scripts, & links to the actual author site for original codes.
We are also including modified scripts to use known (mail server) projects, to increase/unlock few essential+basic features to increase security & privacy, & basic essential functionalities.


Abbreviations/abbr: pkg = package = suit = bundle adv = advanced aka = also-known-as i.e = in-example e.g = example-goes dev = developer usr = user

What is a Mail-Server ?

Various category/type of software performs various functions/steps/process in order to create, transfer, send, receive, obtain, view emails from one email address into another. A mail server contains multiple type of software, and usually functioning in middle of those pre-mentioned email handling process/steps : receives an outbound email from sender user, sends email into another mail-server, and a mail server also receives an email from another mail server, & stores/holds it in a mailbox for later access by mail-user. A MTA(mail/message-transfer/transport-agent) is a type/category of software/tool that can send and receive emails from one mail-server into another or from another mail-server, so MTA is a part of mail-server packages, i.e: Postfix, etc. As MTA performs the core-function of sending/receiving the email, often all mail-server components are combinedly & erroneously called just "MTA" ! instead of correctly calling it "mail-server package". A MSA(message/mail-submission-agent) is a type of software that receives email from user, user's outgoing emails, MSA then gives that email to MTA to send it out, MSA is usually part of mail-server packages. A MUA(mail-user-agent) is a type of software that can create/compose an email, submits new emails into the MSA type of software to send the email out, MUA can also obtain received emails from MDA type of software to show/display it to user, i.e: Thunderbird, etc, MUA is not part of mail-server packages, MUA is aka "email-client". A MDA(mail/message-delivery-agent, it is aka: LDA) is a type of software that holds received emails in user's mailbox, and MDA allows MUA to obtain received emails, and MDA gets email after MTA receives email from (remote or it-self) mail-server, and MDA is a part of mail-server packages, e.g: dovecot, etc. Besides those basic functions : a mail-server often needs to scan for malware & remove it from emails or quarantine the infected email , mail-server also needs to find-out the trustworthiness of email sender's server or domain by checking (a domain/server's) reputation scores, to stop spammers/abusers/exploiters, etc.

PROJECT GOALS/OBJECTIVES:

So our (this "Mail-Server-Scripts" project) objective is to modify+improve these(mentioned in below) known projects/scripts to ENABLE essential security related & necessary advanced features & configurations to allow mail-server owners & users to "really enjoy" a "free" edition or open-source based edition for free to send/receive emails & communicate with peace, now that is very clear statement & simple, and not-deceptive:

iRedMail Open-Source-Edition (aka: iRedMail-OSE, iRM-OSE) (aka free-edition) & iRedAdmin-OSE/free-edition.
Our OBJECTIVE is also to NOT-enable ALL PRO/PAID/ADVANCED FEATURES into a "free-edition", but ONLY those, which are essential for personal/private/team PRIVACY, SECURITY, etc.  Mail server operator / admin who wants to use open-source mail-server (i.e: iRedMail, Mail-in-a-Box, etc) for medium to large scale commercial/office/retail-store etc based BIG-business/corporation/LLC/group, etc then such admin/operator/person need+should use professionally supported open-source mail-server options (i.e: iRedMail-Pro, Mail-in-a-Box, etc, etc too many list all of them here)  Or such operator/person can also choose & use any other open-source & FREE SCRIPTS that allow to configure all mail-server related open-source tools/software for creating full mail-server for free, which we will also include/support in this Wiki sub-site, as part of this project.
We will support advanced feature requirements/need of : very-SMALL-SCALE business/group, or single-individual personal, or sole-proprietorship very-small business, or two individual-person (a very small-group) based business/personal, or (human)-family personal/business, or home-business or home-office , etc
as everyone need to work/earn for their MINIMAL survival and everyone needs to contribute/share their skills with others, and everyone has fundamental Rights for securely/privately communicate & share-information with others.

Notice to all : If you want very reliable & very professional & very very stable mail (or related other) servers/services, then you should get/obtain/setup, Option-1: a paid support & install "Pro" edition software, in order to support the devs & to get professional assistance/help, Or, Option-2: a paid fully-functional remote server with builtin mail (and related other) server/services, Or Option-3: more-than-one reliable, trustworthy & dependable relatives, friends or community neighbors to monitor & assist with your server maintenance works, Or Option-4: at-least use two (local or remote) server from two different location/internet-connection (for this, you would need to setup "cluster" or simpler round-robin based fail-over), so that one (server) can still work (to receive emails) even if the other (or something inside the other) server has failed (or not-working) temporarily.

Note: Mail-server's internet conection must have these TWO specific technical setup : an IP-address with a very specific RDNS-record (e.g: username.example.com. or mail.example.com., etc) that must match with your domain-name (let us assume you own/have: example.com ) , & SMTP port-25 must be unlocked/unblocked for that IP-address . ISP in your home will by-default block inbound/outbound usage of SMTP port-25 in residential class service/connection, & residential connection allots a dynamic-IP-address to client, & dynamic IP-address cannot have a RDNS for client .
They have done these actually to force people/users to use online based free email-services (hotmail, yahoo-mail, gmail, outlook, etc etc etc), so that they can SPY on people by easily STEALING their communication data (all type of commuication are private data & protected by Privacy-Rights, in USA that is the 4th-Amendement of USA-Constitution . But they will always keep on inventing new words+reasons to say why they do this : "to stop spammers" , "to stop virus infections" , etc, etc, but spammers or virus-spreaders are not stupid type of bad-people, they can spam or spread-malware with too many ways , We all know & can see in our mailboxes that there are too many, many many spam emails, & we can also see too many reports that malware infested emails are causing so many losses, etc , So ISPs & "Privacy-Rights Violators" are lying . We can have a specific phone-number to make/receive calls, and We can take this specific-phone-number into another phone-service provider when changing service, right ? So similarly, we can also have a specific static-IP-address & specific RDNS-record allotted to specific person from a specific set of IP-address, and which we must be able to take it to another ISP when changing service , but they (ISP & "Privacy Rights Vilators") do not allow this ! So they do these to violate USA-Constitution & human-rights , if thats not the case then you & i wud've seen all ISP are able to allot a static-IP-address & setting the RDNS-record after a simple request, for free , but this does not happen as they have a noose on their neck (placed by 4th-Amendment Privacy-Rights violators+thiefs) . Good-Legistors must-need to take some good-steps .
So you'll have to order/purchase/rent a static-IP-address from your ISP which may cost $2~to~$5/month extra (during order mention that you will need to use it to send/receive emails, So port-25 must be unblocked, & they must setup a RDNS-record, like this: username.example.com. or mail.example.com. ) , in such case they will setup the RDNS & remove port-25 block for your static-IP-address . Another option is to obtain a "business"-class connection/service from your ISP (that allots a static-IP & all ports are also allowed, usually), but this type of service may be very or comparatively more costly . One more option is to buy TWO remote servers low-cost virtual-private KVM/OVZ based servers, which may cost from $30-to-$50/yr . One more option is to first configure two physical servers, then send into two different co-location service providers, but this may be very costly. Another option is to use email-redirector service or email-forwarding service or email-relays, etc, & receive emails in personal mobile devices.

Notice to all : if you own & using a open-source free mail-server for your personal or for your home-office, or for your small-scale business, etc, and if you're earning sufficiently, then please consider to donate/contribute to your mail-server package software's dev (developer) a few bucks per year at-least, if many mail-server owners do this then devs can also survive & can pay some portion of their service maintenance-fees by using user's donations/payments.

We need to help each other, so please contribute/participate, in whichever way you can, Thank you in advance.


MANAGE DATABASE:

Manage MySQL/MariaDB/PostgreSQL,etc database easily.

phpMyAdmin , GPLv2 , Isaac Bennetch, Michal Čihař : it is a tool written in PHP intended to handle the administration of MySQL/MariaDB, etc over the Web. Currently it can create and drop databases, create/drop/alter tables, delete/edit/add columns, execute any SQL statement, manage indexes on columns.

Features : Intuitive web interface. Support for most MySQL features. Import data from CSV and SQL. Export data to various formats: CSV, SQL, XML, PDF, ISO/IEC 26300 - OpenDocument Text and Spreadsheet, Word, Excel, LATEX and others. Administering multiple servers. Creating PDF graphics of your database layout. Creating complex queries using Query-by-example (QBE). Searching globally in a database or a subset of it. Transforming stored data into any format using a set of predefined functions, like displaying BLOB-data as image or download-link. etc etc.
pgweb gh , Lic:MIT , Dan Sosedoff : it is a cross-platform client for PostgreSQL databases.
Features: Cross-platform: Pgweb runs on OSX, Linux and Windows operating systems without a hustle. Binaries are cross-complied with Go and available for 32/64 bit systems. You can even run it on RaspberryPi. Easy to Install: Pgweb comes as a single binary file that's ready to go. You can install it manually, via Docker or using Homebrew on OSX which is updated regularly and is super convenient. Zero Dependencies: No need to install anything on your machines or services. Just download and run. To get started Pgweb just needs a browser and a PostgreSQL server to connect to. PostgreSQL 9.1+: Most versions of PostgreSQL are supported, starting with official support for 9.1. Older versions could also be compatible but not guaranteed. Simple and Clean: Pgweb was designed to be very simple and clean UI to browse database tables or run and analyze SQL queries. Export query results or table rows to CSV/JSON/XML. Multiple schemas are supported. Records query history. Flexible Sessions: Pgweb can work with any local or remote PostgreSQL server (Heroku supported) as well as any server behind a firewall by using native SSH tunnelling with passwords or ssh keys. Quick-connect with server bookmarks.

MANAGE MTA, etc:

Postfix-Admin sf , GPLv2 , Christian Boltz : it is a Web Based Management tool created for Postfix. It is a PHP based application that handles Postfix Style Virtual Domains and Users that are stored in MySQL or PostgreSQL.

Features : Web based administration for a virtual Postfix mail server. MySQL or PostgreSQL database support. Fetchmail support. Vacation / auto-reply support. Squirrelmail / Roundcube integration.

WEBMAIL:

Roundcube Webmail , GPLv3 , Thomas Bruederli : it is a web-browser-based, multilingual IMAP client with an application-like user interface. Roundcube provides the full functionality you'd expect from an email client, including MIME support, address book, folder manipulation, message searching, and spell check. Roundcube is written in PHP and JavaScript.

Features: Multilingual capabilities. Find-as-you-type address book. Richtext/HTML message composing. Searching messages and contacts. Canned response templates. Int. domain names (IDNA). Shared folders and ACL. Full featured address book. Extensible using the Plug-in API. And more! See the complete list of features.
Usermin , GPL , : Usermin is a web-based interface for webmail, password changing, mail filters, fetchmail and much more. It is designed for use by regular non-root users on a Unix system, and limits them to tasks that they would be able to perform if logged in via SSH or at the console.
Usermin provides a full-featured webmail client experience with encryption, search, spam and antivirus management, mail filters, and folders. Usermin also allows system administrators to grant privileges to users like changing their password, managing databases, managing and editing files, and much more. If just another webmail won't do, Usermin might.
Most users of Usermin are sysadmins looking for a simple webmail interface to offer their customers. Unlike most other webmail solutions, it can be used to change passwords, read email with no additional servers installed (like IMAP or POP3), and setup users' Procmail configurations for forwarding, spam filtering and autoreponders.
Usermin also provides web interfaces for viewing and managing data in MySQL and PostgreSQL databases, editing Apache .htaccess configuration files, and running commands on the server. The administrator has full control over which of these modules are available to users.
Usermin features.


MANAGE SERVER:

Manage, install, uninstall, configure system tools/software, and load+configure various types of advanced functionalities, services, daemons, servers.

Webmin gh , Lic:BSD , Jamie Cameron : a web-based system administration tool for Unix/Linux servers and services.

Features : Configure operating system internals, such as users, disk quotas, services or configuration files, as well as modify, and control open-source apps, such as BIND DNS Server, Apache HTTP Server, PHP, MySQL, and more. Create, edit and delete Unix Accounts on your system. Export Files and Directories to other systems with the NFS protocol. Set up Disk Quotas to control the amount of space available to users for their files. Install, view and remove Software Packages in RPM and other formats. Change your system's IP address, DNS Server settings and routing configuration. Set up a Linux Firewall to protect your computer or give hosts on an internal LAN access to the Internet. Create and configure virtual web servers for the Apache Webserver. Manage databases, tables and fields in a MySQL or PostgreSQL Database Server. Share files with Windows systems by configuring Samba Windows File Sharing. Too many features to list here all.
Virtualmin , GPL , : use Virualmin community-supported GPL (open-source) edition.
Features : Virtualmin is a web hosting control panel, designed to make it easy to manage websites, mailbox users, databases, and web applications. It provides website owner accounts, easily installable web applications, file management, and a comprehensive and easy to use API for integration with billing and support systems. Installing Virtualmin provides a full-featured web hosting stack with web, email, databases, spam and antivirus filtering, analytics, and much more. Virtualmin is the easiest and fastest way to turn a Linux system into a full-featured web hosting system, and it is fully integrated with Webmin.
Domain Accounts: Virtualmin provides powerful and flexible domain accounts, called virtual servers, and sub-servers, allowing users to manage their own websites. This allows delegation of management of websites to users on your server; a website owner can safely be delegated privileges for managing mail, DNS, databases, web applications, and more.
Mail-Server & Emails: Virtualmin helps you and your customers manage mailboxes, forwarders, autoresponders, alias, spam and antivirus scanning, and provides several powerful web-based mail clients including Usermin with full Virtualmin integration, RoundCube, and Squirrelmail.
User & Reseller Accounts and ACLs: Virtualmin provides powerful tools to allow delegation of many common administrative tasks to your customers and end users, empowering them and freeing you and your IT staff from the tedious chores of managing websites, databases, domains, and users. Virtualmin GPL provides domain owner accounts, which can create new websites, install applications, manage mail accounts and databases, view logs, and edit files. Virtualmin Professional adds reseller accounts, allowing you to delegate creation of domain owner accounts. Access Control List features provide fine-grained access control, and are configurable using Account Plans and Server Templates.
Security: A primary concern for any web hosting server administrator, Virtualmin provides a number of tools to help you keep your systems and your data safe. All of our products are provided via system-standard package repositories (yum/dnf on CentOS/RHEL or apt on Debian/Ubuntu), so updating them is easy and can be automated. Updating both system packages and Install Scripts web applications can be performed easily from within the UI. Virtualmin also allows use of Webmin's two factor authentication, certificate logins, brute force protection, and many other security features.
Alerts, Graphs, and Logs: Virtualmin provides easy viewing and searching of system and web server logs, advanced monitoring and email/text alerts for services and network status, system software and web apps update notifications, and current usage details. Virtualmin Professional adds historic system graphs for memory, CPU, processes, and much more.
Backups And Cloud Integration: Virtualmin makes it easy to keep good backups of your websites, databases, mailboxes, and more, and makes it easy to migrate to a new Virtualmin server. Cloud storage support for Dropbox, Google Drive, Amazon S3, and Rackspace Cloud means that whatever cloud provider you prefer, you'll be able to integrate Virtualmin into your infrastructure quickly and easily. Pre-installed Virtualmin images are available for several cloud server providers, as well, making it easy to host a Virtualmin system on cloud-based servers.
Databases: Virtualmin provides comprehensive tools for managing databases, and delegation of management to account holders. Adding, removing, exporting and importing database dumps, and more, can all be accomplished from within the UI. In addition, PHPMyAdmin and PHPPgAdmin Install Scripts are provided for both Virtualmin GPL and Virtualmin Professional, providing familiar tools for working with databases.
Install Scripts: Virtualmin GPL provides easy to install web applications for database management, web mail, WHMCS, and more. Virtualmin Professional provides over 100 web applications for nearly every need: CMS, CRM, forums, commerce, issue tracking, community, webmail, database management, mailing list management, and much more. Your domain account owners can manage their own web applications, and Virtualmin makes it easy to keep them up to date.


MAIL SERVER PACKAGES:

Mail-server-packages are usually a script (or a set of scripts or a installer program) that integrates+configures open-source (or closed-source) tools/software & turns them into a mail server.

Courier Mail Server w (mail-server package), GPLv3, Sam Varshavchik : it is an integrated mail/groupware server based on open commodity protocols such as ESMTP, IMAP, POP3, LDAP, SSL, and HTTP. It provides ESMTP, IMAP, POP3, Webmail, calendaring, and mailing list services.

Rumble Mail Server (mail-server package), GPLv3, Daniel Gruno : Rumble is a mail server suite for SMTP (ESMTPSA), HTTP, POP3 and IMAP4v1 with an extensive C/C++ and Lua API for scripting. It comes with support for SSL/TLS, SQLite and MySQL and has a web-based administration and webmail feature. Additional included modules feature greylisting, DNS blacklisting, SpamAssassin support and dynamic performance scaling as well as a multithreaded structure that allows for clustering of multiple servers for one or all domains, and with the ease of the Lua API, you can create your own new server mailing lists, CRM software, e-marketing and other extensions within minutes.

Features: (1) Flexible SMTP, POP3 and IMAP4v1 server with LEMONADE compliance (2) Easy, seamless integration of C/C++ modules and Lua scripts (3) Intuitive web interface (4) Works on all modern 32 and 64 bit operating systems (Windows, Linux, Mac, other UNIXs) (5) Supports STARTTLS/SSL on all services (6) Supports both SQLite3 and MySQL databases. (7) Optional on-site encrypted storage of mail (coming soon!) (8) Supports SpamAssassin spam filtering (through spamd, of course). (9) Includes greylisting, blacklisting and whitelisting features. (10) Dynamic scaling of performance to match current server load (11) GLOB support for email accounts (fx. *@domain.tld or bugtrack-?????@domain.tld) (12) Support for single/multiple domain administrators in the web interface (13) BATV / VERP support (14) Mutithreaded queue system.

iRedMail+iRedAdmin (mail server package) , GPLv3 , Zhang Huangbin : this project DEVS HAVE IMPLEMENTED & KEPT ONLY-FOUR OR VERY-LIMITED FEATURES & CONFIGURATIONS in free (open-source) edition, and their iRedMail + iRedAdmin-Pro edition includes 20+ features. And, still appears to be deceptively using the words "free" & "full-featured" & "mail-server", etc either in same sentence !!! Or in different sentences that are next to each other or one-after-the-other ! Another major issue is, iRedMail allows mail-server admin to download an initial email which contains all config-info and all passwords for all (initial) accounts, all passwords of all databases, etc over (self-signed 2048bit-RSA based) very-weakly-encrypted IMAP/143/IMAPS/993 or POP3/110/POP3S/995 connection, which is opposite of good-or-best security practice ( and this project-devs are claiming that they are using "best practices" ! ) , and iRedMail installer does not show those config-info directly to the server admin immediately after the (iRedMail) installation completes !, or does not show config-info in that initial email over webmail based HTTPS/443 securely connected webpage (but initially webmail is also weakly-encrypted, as its using that 2048bit-RSA self-signed cert). As this initial-mail (config-info email) with private-info has traveled thru weakly-encrypted connection, all passwords in it are easily recoverable & not-private to whoever stored/cached/decrypted/viewed it.
OSE = Open Source Edition.
OSE / FREE-EDITION (iRedMail-OSE + iRedAdmin-OSE) features : (1) Only one/single admin user is allowed to manage all mail-user's & all domain's basic config, (2) admin panel can show multiple language based localized web interface, (3) option to manage unlimited number of mail domains, (4) limited set of options to create+configure unlimited number of mail users.
PRO / PAID-EDITION (iRedMail-OSE + iRedAdmin-Pro) features : (1) RESTful API Interface, (2) Unlimited Mailing List/Aliases, (3) Unlimited Separated Domain Admin, (4) Advanced Domain Management (Relay, Backup MX, etc), (5) Advanced User Management (Per-user Relay, Mail forwarding, etc), (6) Self-Service (allows mail server end-user to manage Password, Mail Forwarding, Whitelists, Blacklists, Spam Policy, etc), (7) Service Control (enable/disable POP3, IMAP, SMTP, Sieve filter, Mail Forwarding, BCC, etc), (8) Spam/Virus Quarantining, View info (size, spam score, etc), (9) Throttling, (10) Whitelisting & Blacklisting (based on IP adrs/net, sender adrs, sender domain-name), (11) Searching Account, (12) Log Maildir Path of Deleted Dail User, (13) Log Admin Activities, (14) Fail2ban Integration (view banned IP adrs, Country/City, RDNS, log lines which triggered the ban, & unban when necessary), (15) Last login track (time, etc).





LICENSE for Mail-Server-Scripts:

All Script(s)/Tool(s), Config(s)/Settings, etc For “Mail-Server-Scripts” (this project) are Released with following four COMBINED LICENSE + RESTRICTION + PERMISSION, (unless a different License is specifically mentioned):
GNU General Public License Version 3 (GPL v3).
Do Not Use This To Kill/Harm/Violate (or Steal-from)(Any) Human/Community,Earth,etc.
This-Project/Scripts Based Features Must Exist+Available In Free/OpenSource Edition For Free.
Copyright © 2020 atErik (Erik T Ashfolk) (<atErik@ÖυťĹöōķ·ċōm; atErïķ@AśhFölķ·ćōm> Do Not Copy Eml-Adrs, Type In English/basic-Latin Char, No Soliciting Permitted). All rights reserved.

(All other trademarks, etc cited here are the property of their respective owners.)
(All other copyright items cited here are the copyright of their respective author/creator.)



History:

2020-08-15 : Changed sentences to include our objectives about supporting most/any mail server scripts.
2020-08-10 : This project was created.

Clone this wiki locally