Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
- biff = no
- readme_directory = no
- myhostname = localhost
- alias_maps = hash:/etc/aliases
- alias_database = hash:/etc/aliases
- mydestination = localhost
- relayhost =
- mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
- mailbox_size_limit = 0
- recipient_delimiter = +
- inet_interfaces = all
- relay_domains = *
- virtual_alias_maps = proxy:mysql:/etc/postfix/virtual_alias_maps.cf
- virtual_mailbox_domains = proxy:mysql:/etc/postfix/virtual_mailbox_domains.cf
- virtual_mailbox_maps = proxy:mysql:/etc/postfix/virtual_mailbox_maps.cf
- virtual_mailbox_base = /home/vmail
- virtual_mailbox_limit = 512000000
- virtual_minimum_uid = 5000
- virtual_transport = virtual
- virtual_uid_maps = static:5000
- virtual_gid_maps = static:5000
- local_transport = virtual
- local_recipient_maps = $virtual_mailbox_maps
- transport_maps = hash:/etc/postfix/transport
- smtpd_sasl_auth_enable = yes
- smtpd_sasl_type = dovecot
- smtpd_sasl_path = /var/run/dovecot/auth-client
- smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
- smtpd_relay_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
- smtpd_sasl_security_options = noanonymous
- smtpd_sasl_tls_security_options = $smtpd_sasl_security_options
- smtpd_tls_auth_only = yes
- smtpd_tls_cert_file = /etc/ssl/private/server.crt
- smtpd_tls_key_file = /etc/ssl/private/server.key
- smtpd_sasl_local_domain = $mydomain
- broken_sasl_auth_clients = yes
- smtpd_tls_loglevel = 1
- groupadd -g 5000 vmail
- useradd -u 5000 -g vmail -s /usr/bin/nologin -d /home/vmail -m vmail
- CREATE DATABASE postfix_db;
- USE postfix_db;
- CREATE USER postfix_user@localhost IDENTIFIED BY 'password';
- GRANT ALL ON postfix_db.* TO postfix_user@localhost;
- FLUSH PRIVILEGES;
- CREATE TABLE `domains` (
- `domain` varchar(50) NOT NULL default "",
- PRIMARY KEY (`domain`),
- UNIQUE KEY `domain` (`domain`)
- );
- CREATE TABLE `forwardings` (
- `source` varchar(80) NOT NULL default "",
- `destination` text NOT NULL,
- PRIMARY KEY (`source`)
- );
- CREATE TABLE `users` (
- `email` varchar(80) NOT NULL default "",
- `password` varchar(20) NOT NULL default "",
- `quota` varchar(20) NOT NULL default '20971520',
- `domain` varchar(255) NOT NULL default "",
- UNIQUE KEY `email` (`email`)
- );
- INSERT INTO `domains` VALUES ('virtualdomain.tld');
- INSERT INTO `users` VALUES ('info@virtualdomain.tld', ENCRYPT('password'), '20971520', 'virtualdomain.tld');
- cd /etc/ssl/private/
- openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -out server.key
- chmod 400 server.key
- openssl req -new -key server.key -out server.csr
- openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
- chmod 444 server.crt
- user = postfix_user
- password = hunter2
- hosts = localhost
- dbname = postfix_db
- table = domains
- select_field = domain
- where_field = domain
- user = postfix_user
- password = hunter2
- hosts = localhost
- dbname = postfix_db
- table = forwardings
- select_field = destination
- where_field = source
- user = postfix_user
- password = hunter2
- hosts = localhost
- dbname = postfix_db
- table = users
- select_field = concat(domain,'/',email,'/')
- where_field = email
- touch /etc/postfix/transport
- postmap /etc/postfix/transport
- protocols = imap
- auth_mechanisms = plain
- passdb {
- driver = sql
- args = /etc/dovecot/dovecot-sql.conf
- }
- userdb {
- driver = sql
- args = /etc/dovecot/dovecot-sql.conf
- }
- service auth {
- unix_listener auth-client {
- group = postfix
- mode = 0660
- user = postfix
- }
- user = root
- }
- mail_home = /home/vmail/%d/%u
- mail_location = maildir:~
- ssl_cert = </etc/ssl/private/server.crt
- ssl_key = </etc/ssl/private/server.key
- driver = mysql
- connect = host=localhost dbname=postfix_db user=postfix_user password=hunter2
- # The new name for MD5 is MD5-CRYPT so you might need to change this depending on version
- default_pass_scheme = MD5-CRYPT
- # Get the mailbox
- user_query = SELECT '/home/vmail/%d/%u' as home, 'maildir:/home/vmail/%d/%u' as mail, 5000 AS uid, 5000 AS gid, concat('dirsize:storage=', quota) AS quota FROM users WHERE email = '%u'
- # Get the password
- password_query = SELECT email as user, password, '/home/vmail/%d/%u' as userdb_home, 'maildir:/home/vmail/%d/%u' as userdb_mail, 5000 as userdb_uid, 5000 as userdb_gid FROM users WHERE email = '%u'
- # If using client certificates for authentication, comment the above and uncomment the following
- #password_query = SELECT null AS password, ā%uā AS user
- service postfix dovecot restart
- NOQUEUE: reject: RCPT from blablabla.com[xxx.xxx.xxx.xxx]: 451 4.3.0 <info@virtualdomain.tld>: Temporary lookup failure; from=<my@email.tld> to=<info@virtualdomain.tld> proto=ESMTP helo=<blablabla.com>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement