Configurazione Postfix · 3 min read · Dec 31, 2025
Server Groupware Con Group-Office, Postfix, Dovecot E SpamAssassin Su Debian Lenny (5.0) - Pagina 2
Configura Postfix
Postfix deve essere configurato per utilizzare MySQL:
Le seguenti variabili in main.cf. Inizia con il riempire alcune informazioni di base:
# postconf -e 'myhostname = mx-1.example.com'
# postconf -e 'smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)'
# postconf -e 'biff = no'
# postconf -e 'append_dot_mydomain = no'
# postconf -e 'myorigin = example.com'
# postconf -e 'mydestination = $myhostname, localhost, locahost.localdomain'
# postconf -e 'mynetworks = 127.0.0.0/8'
# postconf -e 'recipient_delimiter = +'
# postconf -e 'inet_interfaces = all'
# postconf -e 'proxy_read_maps = $local_recipient_maps $mydestination \
$virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps \
$virtual_mailbox_domains $relay_recipient_maps $relay_domains \
$canonical_maps $sender_canonical_maps $recipient_canonical_maps \
$relocated_maps $transport_maps $mynetworks $virtual_mailbox_limit_maps'
# postconf -e 'smtpd_recipient_restrictions = \
permit_mynetworks, \
reject_unauth_destination, \
reject_rbl_client zen.spamhaus.org, \
reject_rbl_client list.dsbl.org, \
permit'
# postconf -e 'message_size_limit=52428800'
# postconf -e 'mailbox_size_limit=0'Ora configurarlo per utenti virtuali in MySQL:
# postconf -e 'virtual_alias_domains ='
# postconf -e 'virtual_alias_maps = proxy:mysql:$config_directory/mysql_virtual_alias_maps.cf'
# postconf -e 'virtual_mailbox_domains = proxy:mysql:$config_directory/mysql_virtual_domains_maps.cf'
# postconf -e 'virtual_mailbox_maps = proxy:mysql:$config_directory/mysql_virtual_mailbox_maps.cf'
# postconf -e 'virtual_mailbox_base = /vmail'
# postconf -e 'virtual_minimum_uid = 150'
# postconf -e 'virtual_uid_maps = static:150'
# postconf -e 'virtual_gid_maps = static:8'
# postconf -e 'virtual_create_maildirsize = yes'
# postconf -e 'virtual_mailbox_extended = yes'
# postconf -e 'virtual_mailbox_limit_maps = proxy:mysql:/etc/postfix/mysql_virtual_mailbox_limit_maps.cf'
# postconf -e 'virtual_mailbox_limit_override = yes'
# postconf -e 'virtual_maildir_limit_message = "L'utente che stai cercando di contattare ha superato la propria quota."'
# postconf -e 'virtual_overquota_bounce = yes'
# postconf -e 'transport_maps = proxy:mysql:/etc/postfix/mysql_virtual_transports.cf'
# postconf -e 'relay_domains = proxy:mysql:/etc/postfix/mysql_relay_domains_maps.cf'Utilizzeremo la consegna Dovecot:
# postconf -e 'virtual_transport=dovecot'
# postconf -e 'dovecot_destination_recipient_limit=1'
# postconf -e 'transport_maps = hash:/etc/postfix/transport'
# postconf -e 'smtpd_data_restrictions = reject_unauth_pipelining, reject_multi_recipient_bounce, permit'
# postconf -e 'vacation_destination_recipient_limit = 1'Crea il database di trasporto:
# cd /etc/postfix
# postmap transportPostfix è stato installato con supporto MySQL, ma ciò non significa che sappia già come utilizzare il nostro database. Deve essere fornito con varie informazioni di query SQL per ogni tipo di tabella nel nostro database. Queste informazioni sono memorizzate nei file MySQL definiti nel file main.cf:
/etc/postfix/mysql_virtual_alias_maps.cf:
user = vmail_user
password = vmail_user_password
hosts = localhost
dbname = groupoffice
table = pa_aliases
select_field = goto
where_field = address
additional_conditions = and active = '1'/etc/postfix/mysql_virtual_domains_maps.cf:
user = vmail_user
password = vmail_user_password
hosts = localhost
dbname = groupoffice
table = pa_domains
select_field = domain
where_field = domain
additional_conditions = and backupmx = '0' and active = '1'/etc/postfix/mysql_virtual_mailbox_limit_maps.cf:
user = vmail_user
password = vmail_user_password
hosts = localhost
dbname = groupoffice
table = pa_mailboxes
select_field = quota
where_field = username
additional_conditions = and active = '1'/etc/postfix/mysql_virtual_mailbox_maps.cf:
user = vmail_user
password = vmail_user_password
hosts = localhost
dbname = groupoffice
table = pa_mailboxes
select_field = maildir
where_field = username
additional_conditions = and active = '1'/etc/postfix/mysql_virtual_transports.cf:
user = vmail_user
password = vmail_user_password
hosts = localhost
dbname = groupoffice
table = pa_domains
select_field = transport
where_field = domain
additional_conditions = and active = '1'/etc/postfix/mysql_relay_domains_maps.cf:
user = vmail_user
password = vmail_user_password
hosts = localhost
dbname = groupoffice
table = pa_domains
select_field = domain
where_field = domain
additional_conditions = and backupmx = '1' and active = '1'Aggiungi l’utente di posta:
# useradd -r -u 150 -g mail -d /var/vmail -s /sbin/nologin -c "Mailbox Virtuale" vmail
# mkdir /vmail
# chmod 770 /vmail/
# chown vmail:mail /vmail/Modifica master.cf di Postfix:
Modifica la prima riga con il servizio smtp:
smtp inet n - - - - smtpd
-o content_filter=spamassassinDopo quella riga aggiungi:
spamassassin unix - n n - - pipe
user=spamd argv=/usr/bin/spamc -f -e
/usr/sbin/sendmail -oi -f ${sender} ${recipient}
dovecot unix - n n - - pipe
flags=DRhu user=vmail:mail argv=/usr/lib/dovecot/deliver -d ${recipient}Agli interfaccie con software non Postfix aggiungi:
vacation unix - n n - - pipe
flags=Rq user=vacation argv=/var/spool/vacation/vacation.pl -f ${sender} -- ${recipient}Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.