1. spent a weekend at a time when I was not familiar with the study of the linux+roundcubemail postfix+sasl+dovecot+Apache+mysql open source mail server.
2.Postfix note that the configuration file parameters are as follows.(The configuration of the virtual domain is not yet set)These parameters are the complete message system for the current parameters, if you encounter problems in building the mail, you can refer to
grep -v "^#" /etc/postfix/main.cf
-------------------------------------------------------------
compatibility_level = 2
queue_directory = /var/spool/postfix
compatibility_level = 2
queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
mail_owner = postfix
myhostname = mail.xishui139.com
myhostname = mail.xishui139.com
mydomain = xishui139.com
myorigin = $mydomain
inet_interfaces = all
inet_interfaces = all
inet_protocols = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
unknown_local_recipient_reject_code = 550
mynetworks_style = class
mynetworks = 127.0.0.0/8,172.18.0.0/24
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
unknown_local_recipient_reject_code = 550
mynetworks_style = class
mynetworks = 127.0.0.0/8,172.18.0.0/24
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
home_mailbox = Maildir/
debug_peer_level = 2
debug_peer_level = 2
debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
ddd $daemon_directory/$process_name $process_id & sleep 5
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
ddd $daemon_directory/$process_name $process_id & sleep 5
meta_directory = /etc/postfix
shlib_directory = no
shlib_directory = no
virtual_mailbox_base = /home/vmail
virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf
virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
virtual_minimum_uid = 5000
virtual_transport = virtual
virtual_mailbox_limit = 209715200
virtual_create_maildirsize = yes
virtual_mailbox_extended = yes
virtual_mailbox_limit_maps = mysql:/etc/postfix/mysql_virtual_limit_maps.cf
virtual_mailbox_limit_override = yes
virtual_maildir_limit_message = Sorry, the user's maildir has exceeded the quota.
virtual_overquota_bounce = yes
virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf
virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
virtual_minimum_uid = 5000
virtual_transport = virtual
virtual_mailbox_limit = 209715200
virtual_create_maildirsize = yes
virtual_mailbox_extended = yes
virtual_mailbox_limit_maps = mysql:/etc/postfix/mysql_virtual_limit_maps.cf
virtual_mailbox_limit_override = yes
virtual_maildir_limit_message = Sorry, the user's maildir has exceeded the quota.
virtual_overquota_bounce = yes
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $mydomain
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_destination,
reject_invalid_hostname,
reject_non_fqdn_hostname,
reject_non_fqdn_sender,
reject_non_fqdn_recipient
smtpd_sasl_security_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_destination
[root@localhost authdaemon]#
smtpd_sasl_local_domain = $mydomain
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_destination,
reject_invalid_hostname,
reject_non_fqdn_hostname,
reject_non_fqdn_sender,
reject_non_fqdn_recipient
smtpd_sasl_security_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_destination
[root@localhost authdaemon]#
-----------------------------------------------
3.dovecot的主要配置在/etc/dovecot/dovecot.conf
3.dovecot的主要配置在/etc/dovecot/dovecot.conf
grep -v "^#" /etc/dovecot/dovecot.conf
-----------------------------------------------
protocols = imap pop3
listen = *
base_dir = /var/run/dovecot/
instance_name = dovecot
login_greeting = mail.xishui139.com pop3/imap server ready.
login_trusted_networks = 224.56.0.0/24
dict {
#quota = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext
#expire = sqlite:/etc/dovecot/dovecot-dict-sql.conf.ext
}
#quota = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext
#expire = sqlite:/etc/dovecot/dovecot-dict-sql.conf.ext
}
!include conf.d/*.conf
!include_try local.conf
disable_plaintext_auth = no
mail_location = maildir:~/Maildir
pop3_uidl_format = %08Xu%08Xv
service auth {
unix_listener /var/spool/postfix/private/auth {
group = postfix
mode = 0660
user = postfix
}
}
[root@localhost authdaemon]#
----------------------------------------------------
disable_plaintext_auth = no
mail_location = maildir:~/Maildir
pop3_uidl_format = %08Xu%08Xv
service auth {
unix_listener /var/spool/postfix/private/auth {
group = postfix
mode = 0660
user = postfix
}
}
[root@localhost authdaemon]#
----------------------------------------------------
4./etc/sasl2/smtpd.conf
[root@localhost authdaemon]# grep -v "^#" /etc/sasl2/smtpd.conf
pwcheck_method: saslauthd
mech_list: plain login
log_level: 3
authdaemond_path: /usr/local/authlib/var/spool/authdaemon/socket
[root@localhost authdaemon]#
----------------------------------------------------------------
pwcheck_method: saslauthd
mech_list: plain login
log_level: 3
authdaemond_path: /usr/local/authlib/var/spool/authdaemon/socket
[root@localhost authdaemon]#
----------------------------------------------------------------
5./etc/sysconfig/saslauthd
[root@localhost authdaemon]# grep -v "^#" /etc/sysconfig/saslauthd
SOCKETDIR=/run/saslauthd
MECH=shadow
SOCKETDIR=/run/saslauthd
MECH=shadow
The post update of the article is the virtual multi domain build postfix+dovecot+courier-authlib