vi /etc/postfix/main.cf
Commentare le due linee:
content_filter = amavis:[127.0.0.1]:10024
receive_override_options = no_address_mappings
che diventano quindi:
# content_filter = amavis:[127.0.0.1]:10024
# receive_override_options = no_address_mappings
Far ripartire postfix:
/etc/init.d/postfix restart
Rimettere in coda le eventuali mail in sospeso:
postsuper -r ALL
(questo ultimo comando serve ad evitare l'errore "postfix/qmgr[xxxx]: warning: connect to transport private/amavis: Connection refused"
Disabilitare servizi antispam e antivirus:
/etc/init.d/clamav-daemon stop
/etc/init.d/clamav-freshclam stop
/etc/init.d/amavis stop
Dopo aver verificato che tutto funzioni corretamente, disabilitare l'avvio automatico al boot dei servizi antispam e antivirus:
update-rc.d -f clamav-daemon remove
update-rc.d -f clamav-freshclam remove
update-rc.d -f amavis remove
Visualizzazione post con etichetta postfix. Mostra tutti i post
Visualizzazione post con etichetta postfix. Mostra tutti i post
giovedì 9 ottobre 2014
mercoledì 30 aprile 2014
Postfix: warning: hostname localhost does not resolve to address ::1: No address associated with hostname
Per eliminare il warning, nel file /etc/hosts sostituire la riga:
::1 localhost ip6-localhost ip6-loopback
con la riga:
::1 localhost6 ip6-localhost ip6-loopback
mercoledì 30 ottobre 2013
postfix: attivare debug connessione con un mail server
Se vogliamo verificare come mai il mail server del dominio dominio.ext rifiuta le email dal nostro server possiamo attivare il debug specifico per quel dominio:
postconf -e debug_peer_list=dominio.ext
postconf -e debug_peer_level=3
postfix reload
lunedì 26 aprile 2010
Postfix e relay: varie ed eventuali
Vediamo qualche trucco per risolvere alcune situazioni di relay con postfix:
1. Come configurare postfix per usare un relay host (smarthost) remoto
2. Consentire a postfix di accettare posta in relay da ip address specifici.
3. Come ritrasmettere (relay) mail per domini specifici (ad esempio quelli locali)
4. Come configurare i domini virtuali in postfix
1. Come configurare postfix per usare un relay host (smarthost) remoto
Ipotizziamo che usiate Linux e il vostro provider sta filtrando il traffico sulla porta 25, impedendoti di fatto di spedire la posta direttamente dalla vostra macchina.
L'unica possibilita' in questi casi e' configurare il vostro mailserver per girare tutta la vostra posta in uscita attraverso il server del provider.
Con postfix questo e' molto semplice.
in /etc/postfix/main.cf, settate la variabile:
poi rilanciate postfix:relayhost = smtp.yourisp.com
/etc/init.d/postfix restart2. Consentire a postfix di accettare posta in relay da ip address specifici.
Per default, postfix consente il relay (ricezione e reinvio verso un destinatario remoto) anonimo solo ai computer della proria rete. Potete aggiungerer uno o piu' IP address che dopo il riavvio di postfix verranno considerati come IP "virtuosi" da cui puo' essere accettata posta in relay.
In /etc/postfix/main.cf cambiare:
inmynetworks = 127.0.0.0/8
mynetworks = 127.0.0.0/8, 192.168.0.1/24, 62.35.x.x/30, x.x.x.x
Ovvero una lista di ip address (sia sottoreti che singoli host) separati da virgole.
3. Come ritrasmettere (relay) mail per domini specifici (ad esempio quelli locali)
Potete utilizzare il file /etc/postfix/transport con il seguente formato
somedomain.com smtp:[10.0.0.1]:25
otherdomain.com smtp:10.0.0.2:25
ovvero:
dominio_per_cui_fare_relay smtp:ip_server_remoto:porta
La versione con l'IP address racchiuso tra [] disabilita la verifica del record MX relativa al dominio in questione.
N.B. Verificare che in /etc/postfix/main.cf ci sia la riga seguente:
transport_maps = hash:/etc/postfix/transportN.B. dopo ogni modifica al file /etc/postfix/transport lanciare il comando seguente:
postmap hash:/etc/postfix/transport
4. Come configurare i domini virtuali in postfix
/etc/postfix/virtual e' un file di testo dove specificare i domini e gli utenti per cui accettare le email. Ogni dominio virtuale dovrebbe cominciare con una singola linea contenente il nome del dominio.
Le righe seguenti definiscono gli indirizzi del dominio da gestire.
Le mail saranno consegnate agli utenti locali indicati sulla destra (come nell'esempio seguente). La clausola @nomedominio consente di recapitare tutte le altre mail all'utente indicato (catchall).
Potete gestire piu' di un dominio in questo file, basta ripeterne la struttura mostrata qui sotto:
dominio.com this-text-is-ignoredThis e-mail address is being protected from spambots. You need JavaScript enabled to view it This e-mail address is being protected from spambots. You need JavaScript enabled to view it This e-mail address is being protected from spambots. You need JavaScript enabled to view it Dovete dire a postfix dove cercare queste mappature per gli alias virtuali. La direttiva corretta si trova nel file /etc/postfix/main.cf e dice a postfix di usare la versione hash del file appena creato. Il file hash non viene creato finche' non lanciate il comando "postmap virtual" come vedremo piu' avanti.
postmaster@dominio.com postmaster
address1@dominio.com utentelocale1
address2@dominio.com utentelocale2
@dominio.com utentelocale1
Il /etc/postfix/main.cf deve contenere la seguente riga
Avendo modificato il file main.cf, dovete riavviare il demone postfix. Il secondo comando aggiorna la mappatura degli alias virtuali. Dovete rilanciare il comando postmap ogni volta che modificate il file /etc/postfix/virtual.virtual_alias_maps = hash:/etc/postfix/virtual
Ora provate a recapitare una mail agli indirizzi del dominio virtuale. Se ci fossero problemi, verificate i log relativi al server di posta. e controllate che i due comandi precedenti siano stati eseguiti.postfix reloadpostmap /etc/postfix/virtual
domenica 7 febbraio 2010
Coerenza
Cosa ti puoi aspettare da una societa' (telecom) che demanda ad una sua consociata (tin.it=telecom italia net) la gestione delle sue reti, poi cede tin.it a Seat pagine gialle e utilizza Alice come nuova gestione delle proprie reti. Poi si ricompra tin.it, rompe le scatole ai poveretti che usavano l'adsl di tin.it (mai avuto un problema per anni) per fargli mettere una linea adsl Alice. Dopo aver loro disabilitata la vecchia adsl, comunica bellamente di non poter installare una adsl alice perche' in quella zona non esiste l'adsl (ma se me l'avete staccata due giorni fa...era l'unica di tutto il centro di Rimini????)
Ebbene oggi scopro che il mio server in ufficio non puo' piu' spedirmi le mail di segnalazione dei backup in quanto il router e' finito su un IP address filtrato in qualche blacklist.
Poco male, basta settare l'autenticazione sasl su postfix (trovate il come in QUESTO POST). Ma la cosa non funziona ancora.
Dopo mezz'ora persa a scoprire le magagne con il 191 ("Lei deve impostare il server SMTP di alice business, mail.191.biz") ho scoperto che questo server non ne vuole sapere di autenticarmi...mentre invece tutto funziona a meraviglia con il server SMTP di alice (casa?): out.alice.it
Vabbeh....
Ebbene oggi scopro che il mio server in ufficio non puo' piu' spedirmi le mail di segnalazione dei backup in quanto il router e' finito su un IP address filtrato in qualche blacklist.
Poco male, basta settare l'autenticazione sasl su postfix (trovate il come in QUESTO POST). Ma la cosa non funziona ancora.
Dopo mezz'ora persa a scoprire le magagne con il 191 ("Lei deve impostare il server SMTP di alice business, mail.191.biz") ho scoperto che questo server non ne vuole sapere di autenticarmi...mentre invece tutto funziona a meraviglia con il server SMTP di alice (casa?): out.alice.it
Vabbeh....
lunedì 9 novembre 2009
Postfix: ipv4? ipv6? entrambi?
Le seguenti righe devono essere presenti nel file /etc/postfix/main.cf
inet_interfaces = 127.0.0.1
smtp_bind_address = 0.0.0.0
inet_interfaces = 127.0.0.1, [::1]
smtp_bind_address = 0.0.0.0
smtp_bind_address6 = ::
inet_protocols = all
Se modificate il file main.cf ricordatevi di attivare le modifiche lanciando il comando:
ipv4
inet_interfaces = 127.0.0.1
smtp_bind_address = 0.0.0.0
ipv4 + ipv6
inet_interfaces = 127.0.0.1, [::1]
smtp_bind_address = 0.0.0.0
smtp_bind_address6 = ::
inet_protocols = all
Se modificate il file main.cf ricordatevi di attivare le modifiche lanciando il comando:
/etc/init.d/postfix restart
lunedì 12 ottobre 2009
fetchmail: connection to localhost:smtp [::1/25] failed: Connection refused.
Aggiungere queste linee al file /etc/postfix/main.cf#
inet_interfaces = 127.0.0.1, [::1]
smtp_bind_address = 0.0.0.0
smtp_bind_address6 = ::
inet_protocols = all
#
Se la macchina ha un IP address statico puo' essere aggiunto alla linea inet_interfaces:inet_interfaces = 192.168.1.6, 127.0.0.1, [::1]
mercoledì 9 settembre 2009
Postfix: come svuotare le code
Potete usare il comando pfqueue per gestire interattivamente tutte le code di postfix oppure ricorrere (come da esempi seguenti) al comando postsuper fornito con postfix.
Comando per svuotare tutte le code di postfix (incoming, hold, active, deferred):postsuper -d ALLComando per svuotare una coda di postfix:postsuper -d ALL incomingopostsuper -d ALL holdopostsuper -d ALL activeopostsuper -d ALL deferred
venerdì 21 agosto 2009
Postfix: mascherare l'indirizzo di un mittente
Spesso i messaggi di alert di un server vengono inviati dall'utente root@host.dominio.local
Se i messaggi escono all'esterno della nostra rete, possono incontrare qualche server smtp "cativo" che li getta sentenziando che non esiste nessun dominio, pubblicamente conosciuto, con quel nome.
Essendo titolari del dominio (ad esempio): dominio.com, sarebbe carino che il mittente dei messaggi risultasse qualcosa di simile a root.host@dominio.com
In questo caso nessun smtp server avra' nulla da ridire e noi sapremo vedere anche solo dando una veloce occhiata che la segnalazione si riferisce a quel particolare host della nostra reta/dominio.
Vediamo come gestire la cosa con Postfix:
Editate il file
Salvate e uscite dal file.
Create/aprite il file
Salvate, uscite dal file e compilatelo con il comando:
Se i messaggi escono all'esterno della nostra rete, possono incontrare qualche server smtp "cativo" che li getta sentenziando che non esiste nessun dominio, pubblicamente conosciuto, con quel nome.
Essendo titolari del dominio (ad esempio): dominio.com, sarebbe carino che il mittente dei messaggi risultasse qualcosa di simile a root.host@dominio.com
In questo caso nessun smtp server avra' nulla da ridire e noi sapremo vedere anche solo dando una veloce occhiata che la segnalazione si riferisce a quel particolare host della nostra reta/dominio.
Vediamo come gestire la cosa con Postfix:
Editate il file
/etc/postfix/main.cf e aggiungete la direttiva
smtp_generic_maps = hash:/etc/postfix/generic
Salvate e uscite dal file.
Create/aprite il file
/etc/postfix/generic e inserite la riga:
root@host.dominio.local root.host@dominio.com
o piu' in generale:
INDIRIZZO_UTENTE_MACCHINA_LOCALE INDIRIZZO_UTENTE_DOMINIO_PUBBLICO
Salvate, uscite dal file e compilatelo con il comando:
postmap /etc/postfix/generic
eseguite un restart di postfix per attivare la modifica:
/etc/init.d/postfix restart
Quando la mail e' invata a un host remoto tramite SMTP il server postfix si occupera' di sostituire l'indirizzo INDIRIZZO_UTENTE_MACCHINA_LOCALE con l'indirizzo INDIRIZZO_UTENTE_DOMINIO_PUBBLICO
.
Etichette:
linux,
masquerading,
mittente,
postfix,
sender,
smtp,
smtp_generic_maps
Postfix send error: queue file write error
Spedendo messaggi "corposi" e' possibile trovare nei log queste segnalazioni:
Cio' puo' essere causato dalle dimensioni del messaggio che superano il limite di default (dovrebbe essere impostato a 10MB)
Per consentire l'invio di messaggi piu' grossi, e' sufficiente inserire nel file /etc/postfix/main.cf la direttiva:
che imposta (ad esempio) il limite a circa 15MB, oppure:
che disabilita il limite di dimensioni sul singolo messaggio.
postdrop: warning: uid=1000: Illegal seek
sendmail: fatal: amit(1000): queue file write error
Cio' puo' essere causato dalle dimensioni del messaggio che superano il limite di default (dovrebbe essere impostato a 10MB)
Per consentire l'invio di messaggi piu' grossi, e' sufficiente inserire nel file /etc/postfix/main.cf la direttiva:
message_size_limit = 15000000
che imposta (ad esempio) il limite a circa 15MB, oppure:
message_size_limit = 0
che disabilita il limite di dimensioni sul singolo messaggio.
venerdì 13 giugno 2008
Postfix: attivare SMTP AUTH
Se i log dal vostro server preferito smettono di arrivare nella vostra casella di posta.
Se nei log (/var/log/mail.log) del server trovate qualcosa del genere:
Su /etc/postfix/main.cf:
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_auth_enable=yes
smtp_sasl_security_options =
relayhost = RELAY_HOST
Su /etc/postfix/sasl_passwd (dovete crearlo voi):
RELAY_HOST utente@mydomain.com:PASSWORD
n.b.:
RELAY_HOST deve essere sostituito dall'SMTP server del vostro provider
utente@mydomain.com deve essere sostituito dallo username completo assegnatovi dal provider
PASSWORD deve essere sostituito dalla password assegnatavi dal provider
Eseguire i seguenti comandi:
In caso i log visualizzino un errore del genere:
Se nei log (/var/log/mail.log) del server trovate qualcosa del genere:
Jun 13 17:27:01 localhost postfix/smtp[26456]: 0DD1085CB: to=Allora dovete attivare l'autenticazione sull'SMTP con il vostro relayhost (di solito e' smtp.vostroprovider.it), relay=smtp.tin.it[62.211.72.32]:25
, delay=0.66, delays=0.03/0.01/0.41/0.21, dsn=5.0.0, status=bounced (host smtp.tin.it[62.211.72.32] said: 550 RCPT T
O:Relaying not allowed - please use SMTP AUTH (in reply to RCPT TO command))
Su /etc/postfix/main.cf:
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_auth_enable=yes
smtp_sasl_security_options =
relayhost = RELAY_HOST
Su /etc/postfix/sasl_passwd (dovete crearlo voi):
RELAY_HOST utente@mydomain.com:PASSWORD
n.b.:
RELAY_HOST deve essere sostituito dall'SMTP server del vostro provider
utente@mydomain.com deve essere sostituito dallo username completo assegnatovi dal provider
PASSWORD deve essere sostituito dalla password assegnatavi dal provider
Eseguire i seguenti comandi:
chown root:root /etc/postfix/sasl_passwdAttenzione: sul mio sistema c'erano gia' installati i seguenti pacchetti legati all'autenticazione sasl, non so quali/quanti siano necessari per consentire l'autenticazione. Se da voi non ci sono e avete problemi in fase di invio della posta provate a installarli:
chmod 600 /etc/postfix/sasl_passwd
postmap /etc/postfix/sasl_passwd
/etc/init.d/postfix restart
libauthen-sasl-perl
libsasl2
libsasl2-2
libsasl2-modules
sasl2-bin
In caso i log visualizzino un errore del genere:
Mar 31 11:25:14 my_server postfix/smtp[24449]: E70B51ADC: to=, relay=smtp.myisp.com[xxx.xxx.xxx.xxx]:25, delay=349882, delays=349879/0.06/3.1/0, dsn=4.7.0, status=deferred (SASL authentication failed; cannot authenticate to server smtp.myisp.com[xxx.xxx.xxx.xxx]: no mechanism available)molto probabilmente occorre installare il pacchetto
libsasl2-modules
mercoledì 23 aprile 2008
Postfix: Client host rejected: Greylisted for 5 minutes (in reply to RCPT TO command)
Sistemato il problema precedente ,gli utenti del dominio email.it (ma anche di altri domini) continuavano a non ricevere la mail di attivazione account.
Il log /var/log/mail.log rivelava questo inquietant messaggio:
Client host rejected: Greylisted for 5 minutes (in reply to RCPT TO command)
Questo significa che il server di questi utenti utilizza il cosiddetto greylisting.
Il greylisting e' un sistema per cui, a meno che non abbiate ricevuto negli ultimi 30 giorni una mail dalla stessa combinazione di "indirizzo email" / "indirizzo IP del mittente", il mail server risponde con un messaggio che grosso modo significa: "Non mollare, errore temporaneo, prova ancora tra 300 secondi (5 minuti)"
Le mail successive dallo stesso mittente non dovrebbero subire ulteriori ritardi.
Molti spammer sparano fuori milioni di email all'ora e non possono stare li' a riprovare ogni 5 minuti, cosi' la connessione viene perduta.
I veri mail server dovrebbero riconoscere questo messaggio come un reale errore temporaneo (codice 4xx, a differenza dei veri errori che hanno codici 5xx) e riprovare fino a 7 giorni (di solito) fino a che la mail non venga consegnata.
Il lato negativo del greylistng e' che potete dover aspettare 300 secondi (o quanti sono stati configurati sul tuo server) prima di ricevere la prima email da un nuovo mittente. In realta' potresti dover aspettare piu' a lungo: postfix, ad esempio, prova a riconsegnare i messaggi in coda ogni 1000 secondi.
Il log /var/log/mail.log rivelava questo inquietant messaggio:
Client host rejected: Greylisted for 5 minutes (in reply to RCPT TO command)
Questo significa che il server di questi utenti utilizza il cosiddetto greylisting.
Il greylisting e' un sistema per cui, a meno che non abbiate ricevuto negli ultimi 30 giorni una mail dalla stessa combinazione di "indirizzo email" / "indirizzo IP del mittente", il mail server risponde con un messaggio che grosso modo significa: "Non mollare, errore temporaneo, prova ancora tra 300 secondi (5 minuti)"
Le mail successive dallo stesso mittente non dovrebbero subire ulteriori ritardi.
Molti spammer sparano fuori milioni di email all'ora e non possono stare li' a riprovare ogni 5 minuti, cosi' la connessione viene perduta.
I veri mail server dovrebbero riconoscere questo messaggio come un reale errore temporaneo (codice 4xx, a differenza dei veri errori che hanno codici 5xx) e riprovare fino a 7 giorni (di solito) fino a che la mail non venga consegnata.
Il lato negativo del greylistng e' che potete dover aspettare 300 secondi (o quanti sono stati configurati sul tuo server) prima di ricevere la prima email da un nuovo mittente. In realta' potresti dover aspettare piu' a lungo: postfix, ad esempio, prova a riconsegnare i messaggi in coda ogni 1000 secondi.
Postfix: 554 5.7.1 : Helo command rejected: Illegal impersonation in HELO
Gestendo le iscrizioni ad un sito si verificava quanto segue:
Alcuni utenti si registravano e subito ricevevano la mail per l'attivazione del nuovo account.
Altri utenti (tra cui quelli del dominio email.it) non ricevevano la mail per l'attivazione.
In corrispondenza dell'invio delle mail a questi ultimi, il log /var/log/mail.log riportava il seguente messaggio:
Per risolvere il problema occorre editare il file /etc/postfix/main.cf e modificare la linea myhostname da
a
Dove FQDN.dominio.qualcosa corrisponde al nome completo associato dal DNS alla nostra macchina (o al nostro router se stiamo lavorando in NAT)
Completare il tutto riavviando il server postfix:
/stc/init.d/postfix restart
Alcuni utenti si registravano e subito ricevevano la mail per l'attivazione del nuovo account.
Altri utenti (tra cui quelli del dominio email.it) non ricevevano la mail per l'attivazione.
In corrispondenza dell'invio delle mail a questi ultimi, il log /var/log/mail.log riportava il seguente messaggio:
554 5.7.1: Helo command rejected: Illegal impersonation in HELO
Per risolvere il problema occorre editare il file /etc/postfix/main.cf e modificare la linea myhostname da
myhostname localhost.localdomain
a
myhostname FQDN.dominio.qualcosa
Dove FQDN.dominio.qualcosa corrisponde al nome completo associato dal DNS alla nostra macchina (o al nostro router se stiamo lavorando in NAT)
Completare il tutto riavviando il server postfix:
/stc/init.d/postfix restart
Etichette:
command line,
debian,
helo,
illegal,
impersonation,
linux,
main.cf,
myhostname,
postfix,
rejected,
ubuntu
Iscriviti a:
Post (Atom)