Re: exim4 e indirizzi mail in base all'smtp
Il 17/10/2017 09:50, Giuseppe Sacco ha scritto: [...] In alternativa, puoi evitare l'utilizzo della funzione mail() e chiamare direttamente sendmail (che è un link a exim) con il parametro «-f» seguito dall'indirizzo che vuoi utilizzare come «sender address». In questo caso dovresti aggiungere l'utente www-data (o quello che esegue il tuo codice PHP) a quelli ai quali exim permette di cambiare il «sender address». (vedi MAIN_TRUSTED_USERS in /etc/exim4/conf.d/main/02_exim4-config_options) ho adottato questa soluzione anche se in realtà il terzo parametro della funzione mail() di php viene considerato come l'elenco dei parametri che vengono passati a sendmail. Quindi se nel terzo parametro si inserisce -f envelop-addr...@dominio.com verrà proprio utilizzato envelop-addr...@dominio.com come envelop address! Mille grazie ancora Piviul
Re: exim4 e indirizzi mail in base all'smtp
Buongiorno Piviul, Il giorno lun, 16/10/2017 alle 11.37 +0200, Piviul ha scritto: [...] > L'applicativo utilizza la funzione mail di php > (http://php.net/manual/en/function.mail.php) per inviare la posta e > già > setto nel messaggio il from address della mail quindi il problema è > relativo. Però il fatto che tutta la posta venga inviata tramite un > unico envelop-address non mi piace proprio... > > A questo punto mi chiedo se non sia possibile fare in modo che exim > possa cambiare envelop-address quando consegna la posta a certi smtp > servers.. chiedo troppo ad exim? exim può riscrivere il «sender address» durante l'accettazione del messaggio via SMTP (cfr: http://www.exim.org/exim-html-current/doc/html /spec_html/ch-address_rewriting.html#SECTrewriteS ). Però mi pare di capire che la funzione mail() del PHP non faccia una connessione SMTP, bensì utilizzi il comando sendmail. In questo caso l'indirizzo è sempre quello dell'utente che invoca sendmail, oppure quello che definisci in /etc/email-addresses. In realtà mi pare di capire che mail() possa anche usare un server SMTP anziché sendmail, ma solo su Windows. Il tutto pare configurabile nel file php.ini. Per maggiori informazioni immagino ti convenga rivolgerti ad una lista di sviluppatori in PHP. In alternativa, puoi evitare l'utilizzo della funzione mail() e chiamare direttamente sendmail (che è un link a exim) con il parametro «-f» seguito dall'indirizzo che vuoi utilizzare come «sender address». In questo caso dovresti aggiungere l'utente www-data (o quello che esegue il tuo codice PHP) a quelli ai quali exim permette di cambiare il «sender address». (vedi MAIN_TRUSTED_USERS in /etc/exim4/conf.d/main/02_exim4-config_options) Ciao, Giuseppe
exim4 e indirizzi mail in base all'smtp
Ciao a tutti, grazie a Marco funziona più o meno tutto: ho configurato hubbed_hosts in modo che se il sistema invia una mail al nostro dominio la consegni all'smtp interno, se ad un dominio riconosciuto come pec la consegni al nostro smtp pec altrimenti venga consegnata allo smarthost. Però è sempre il più o meno che frega! Quello che non mi piace molto è che per farlo ho dovuto configurare /etc/email-address in modo che www-data (l'utente con il quale gira la nostra applicazione che invia le mail) abbia come envelop-address il nostro indirizzo pec altrimenti il server smtp pec si rifiuta di accettare posta da un indirizzo diverso prima ancora di iniziare la fase di autenticazione (per fortuna il nostro smarthost non fa questo controllo!). L'applicativo utilizza la funzione mail di php (http://php.net/manual/en/function.mail.php) per inviare la posta e già setto nel messaggio il from address della mail quindi il problema è relativo. Però il fatto che tutta la posta venga inviata tramite un unico envelop-address non mi piace proprio... A questo punto mi chiedo se non sia possibile fare in modo che exim possa cambiare envelop-address quando consegna la posta a certi smtp servers.. chiedo troppo ad exim? Piviul