Postfix e Courier · 2 min read · Oct 07, 2025

Utenti e domini virtuali con Postfix, Courier e MySQL (Debian Etch) - Pagina 3

6 Configura Saslauthd

Prima esegui

mkdir -p /var/spool/postfix/var/run/saslauthd

Poi modifica /etc/default/saslauthd. Imposta START su yes e cambia la riga OPTIONS=”-c” in OPTIONS=”-c -m /var/spool/postfix/var/run/saslauthd -r”:

vi /etc/default/saslauthd

| # # Impostazioni per il demone saslauthd # # Dovrebbe saslauthd avviarsi automaticamente all'avvio? (predefinito: no) START=yes # Quali meccanismi di autenticazione dovrebbe utilizzare saslauthd? (predefinito: pam) # # Opzioni disponibili in questo pacchetto Debian: # getpwent -- usa la funzione di libreria getpwent() # kerberos5 -- usa Kerberos 5 # pam -- usa PAM # rimap -- usa un server IMAP remoto # shadow -- usa il file di password shadow locale # sasldb -- usa il file di database sasldb locale # ldap -- usa LDAP (la configurazione è in /etc/saslauthd.conf) # # Solo un'opzione può essere utilizzata alla volta. Vedi la pagina man di saslauthd # per ulteriori informazioni. # # Esempio: MECHANISMS="pam" MECHANISMS="pam" # Opzioni aggiuntive per questo meccanismo. (predefinito: nessuna) # Vedi la pagina man di saslauthd per informazioni sulle opzioni specifiche del meccanismo. MECH_OPTIONS="" # Quanti processi saslauthd dovremmo eseguire? (predefinito: 5) # Un valore di 0 creerà un nuovo processo per ogni connessione. THREADS=5 # Altre opzioni (predefinito: -c) # Vedi la pagina man di saslauthd per informazioni su queste opzioni. # # Esempio per gli utenti di postfix: "-c -m /var/spool/postfix/var/run/saslauthd" # Nota: Vedi /usr/share/doc/sasl2-bin/README.Debian OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd -r" |

Poi crea il file /etc/pam.d/smtp. Dovrebbe contenere solo le seguenti due righe (assicurati di inserire i dettagli corretti del tuo database):

vi /etc/pam.d/smtp

| auth required pam_mysql.so user=mail_admin passwd=mail_admin_password host=127.0.0.1 db=mail table=users usercolumn=email passwdcolumn=password crypt=1 account sufficient pam_mysql.so user=mail_admin passwd=mail_admin_password host=127.0.0.1 db=mail table=users usercolumn=email passwdcolumn=password crypt=1 |

Successivamente crea il file /etc/postfix/sasl/smtpd.conf. Dovrebbe apparire così:

vi /etc/postfix/sasl/smtpd.conf

| pwcheck_method: saslauthd mech_list: plain login allow_plaintext: true auxprop_plugin: mysql sql_hostnames: 127.0.0.1 sql_user: mail_admin sql_passwd: mail_admin_password sql_database: mail sql_select: select password from users where email = '%u' |

Poi riavvia Postfix e Saslauthd:

/etc/init.d/postfix restart  
/etc/init.d/saslauthd restart

7 Configura Courier

Ora dobbiamo dire a Courier che deve autenticarsi contro il nostro database MySQL. Prima, modifica /etc/courier/authdaemonrc e cambia il valore di authmodulelist in modo che legga:

vi /etc/courier/authdaemonrc

| [...] authmodulelist="authmysql" [...] |

Poi fai un backup di /etc/courier/authmysqlrc e svuota il vecchio file:

cp /etc/courier/authmysqlrc /etc/courier/authmysqlrc_orig  
cat /dev/null > /etc/courier/authmysqlrc

Poi apri /etc/courier/authmysqlrc e inserisci le seguenti righe:

vi /etc/courier/authmysqlrc

| MYSQL_SERVER localhost MYSQL_USERNAME mail_admin MYSQL_PASSWORD mail_admin_password MYSQL_PORT 0 MYSQL_DATABASE mail MYSQL_USER_TABLE users MYSQL_CRYPT_PWFIELD password #MYSQL_CLEAR_PWFIELD password MYSQL_UID_FIELD 5000 MYSQL_GID_FIELD 5000 MYSQL_LOGIN_FIELD email MYSQL_HOME_FIELD "/home/vmail" MYSQL_MAILDIR_FIELD CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/') #MYSQL_NAME_FIELD MYSQL_QUOTA_FIELD quota |

Poi riavvia Courier:

/etc/init.d/courier-authdaemon restart  
/etc/init.d/courier-imap restart  
/etc/init.d/courier-imap-ssl restart  
/etc/init.d/courier-pop restart  
/etc/init.d/courier-pop-ssl restart

Eseguendo

telnet localhost pop3

puoi vedere se il tuo server POP3 funziona correttamente. Dovrebbe restituire +OK Hello there. (Digita quit per tornare alla shell di Linux.)

server1:/etc/postfix# telnet localhost pop3  
Trying 127.0.0.1...  
Connected to localhost.localdomain.  
Escape character is '^]'.  
+OK Hello there.  
quit  
+OK Better luck next time.  
Connection closed by foreign host.

8 Modifica /etc/aliases

Ora dovremmo aprire /etc/aliases. Assicurati che postmaster punti a root e root al tuo nome utente o al tuo indirizzo email, ad esempio in questo modo:

vi /etc/aliases

| [...] postmaster: root root: [email protected] [...] |

Ogni volta che modifichi /etc/aliases, devi eseguire

newaliases

dopo e riavviare Postfix:

/etc/init.d/postfix restart
Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.