Installa il server ubuntu per inviare posta ()


40

Ho provato a cercare molto ma non sono riuscito a trovare come configurare effettivamente un server Ubuntu, in modo da poter inviare mail tramite php usando la funzione mail () in php.

Ho apache2, mysql e php5 installati sul mio server.

Grazie.

Risposte:


45

Sono anche d'accordo sul fatto che mancano tutorial per le persone che hanno solo bisogno di uno script da inviare, ad esempio e-mail di errore, e non hanno bisogno di un server di posta completo.

Innanzitutto, se postfix non è già installato, procedere come segue:

sudo apt-get install postfix

Viene richiesto con un paio di domande. Per la prima ho scelto "Sito Internet"; per una macchina dietro un firewall potrei scegliere invece smarthost. Per la seconda domanda, viene impostato automaticamente il nome della macchina; Ho aggiunto un nome di dominio che controllo (quindi posso impostare DNS per esso in un secondo momento, se necessario).

A questo punto dovresti essere in grado di usare "mail" dalla riga di comando per inviare un test. (Di solito seguo le istruzioni su http://ubuntuforums.org/showthread.php?t=38429 prima, altrimenti devo usare il -fflag per /usr/bin/sendmail. Mi piace anche creare /etc/aliasescon le voci per root e il mio normale utente, e quindi eseguire newaliases)

Quindi in /etc/php5/conf.d crea un file (ad esempio mailconfig.ini) con questi contenuti:

sendmail_from = "me@example.com"
sendmail_path = "/usr/sbin/sendmail -t -i -f me@example.com"

Cambia me@example.com nel tuo indirizzo email. Significano che tutta la posta elettronica sembrerà che sia stata inviata da te, il che può aiutare a prevenire il rifiuto. Questo è sufficiente per l'invio di e-mail di errore a uno sviluppatore.

(Le istruzioni precedenti sono state testate su Ubuntu 10.04, 11.04, 11.10, 12.04)

PS Come sottolineato da razziato nei commenti, mailnon è sempre presente (ad esempio su Ubuntu 11.10 manca). Questo in realtà non influisce sulle istruzioni di cui sopra, è necessario solo mailper il test e puoi usarlo sendmailanche per quello. Ma mailè anche utile per leggere le e-mail, quindi di solito vale la pena installarlo, con: apt-get install mailutils(come root).


1
Grazie! Questo ha funzionato perfettamente. Testato su Ubuntu 12.04 LTS x64.
Trent Scott,

Questo risolve la ricerca usando anche NGINX! E PHP5-FPM
TheBlackBenzKid,

1
Nota sul mio host, l' mailutilità della riga di comando non è installata su un'installazione Ubuntu pulita e l'installazione di PostFix non la installa. Prova sudo apt-get install mailutilsa ottenere il mailcomando, oppure usa alternative come Mutt, ossmtp
abbagliato il

Avevo bisogno di settimane per capire che le cose dietro dovevano sendmail_pathessere dentro "per funzionare correttamente, tiposendmail_path = "/usr/sbin/sendmail -t -i -f me@example.com"
Sliq,

1
Finalmente! Una soluzione semplice e diretta. Funziona su Ubuntu 14.04.
Knyri,


1

Passa attraverso il doloroso processo di impostazione di un server di posta direttamente sul tuo server (postfix, ecc.) Oppure utilizza una libreria che ti permetterà di collegarti direttamente a un server SMTP.


0

Dovresti prima installare il pacchetto xmail e, se ancora non funziona, dai un'occhiata qui .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.