GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come avere il Php per inviare la posta?

Ho installato Ubuntu 11.04, LAMP utilizzando taskel.

Trovo che PHP mail() non funziona.

Suppongo di aver bisogno di abilitarlo o qualcosa del genere? Come faccio?

Migliore risposta

Dal manuale di posta di php:

Requisiti

Affinché le funzioni di posta siano
disponibili, PHP richiede un sistema di posta elettronica installato
e funzionante. Il programma
da utilizzare è definito dalle impostazioni di configurazione
nel file php.ini
.

Ciò significa che devi installare una sorta di server di posta e configurare php per usarlo. Di solito questo server di posta è suffisso in Ubuntu. Tuttavia, se il lato php che stai codificando verrà eventualmente archiviato sul lato di un servizio di hosting (ad es. xmission), molto probabilmente un server di posta sarà già installato lì. In tal caso, testa il tuo sito online anziché localmente.

Se hai bisogno di testarlo sul tuo sistema o intendi ospitarlo sul tuo server domestico, procedi con:

Installazione Postfix

Installazione:suffisso / sudo apt-get install postfix Durante il processo ti verrà chiesto in quale modalità desideri installare Postfix. Ci sono quattro modalità possibili:

  • Internet :il tuo server di posta.
  • Satellite :per l'invio e la ricezione della posta verrà utilizzato un provider di posta esterno (ad es. Google). Il server non riceverà alcuna posta.
  • Smarthost :Miscela tra i due. La posta viene archiviata localmente ma inviata tramite un provider di posta esterno.
  • Solo locale :Non ti riguarderà. Questo è un server di posta interno di sistema. Puoi inviare e-mail solo da utente a utente sul sistema.

Il resto delle opzioni di installazione dipende dalla tua scelta di questa configurazione generale.

Molto probabilmente sceglierai un'installazione satellitare. Ciò significa che la posta verrà inviata utilizzando un provider esterno. Come smtp-server (server di posta in uscita) dovrai quindi specificare i tuoi provider smtp. Il resto delle opzioni è autoesplicativo.

Configurazione post installazione

La maggior parte dei server smtp richiede un'autenticazione tramite password per inviare la posta. Quindi Postfix dovrà conoscere quella password. Inoltre ci sono cose come la crittografia da considerare (che dovrai cercare su Google). Ecco come si configura postfix utilizzando l'autenticazione tramite password (sasl):

  • Installa i moduli libsasl2 e sasl2-bin facendo clic sulle icone del Software Center o dal terminale utilizzando:

    sudo apt-get install libsasl2-2 libsasl2-modules sasl2-bin
    
  • Abilita sasl-auth aggiungendo queste righe a /etc/postfix/main.cf

     # add to /etc/postfix/main.cf
     smtp_sasl_auth_enable = yes
     smtp_sasl_security_options = noplaintext noanonymous
     smtp_sasl_password_maps = hash:/etc/postfix/sasl_password
    
  • Crea un file /etc/postfix/sasl_password con una linea come:

     smtp.gmail.com [email protected]:USERPASSWORD
    

    Sostituisci la password, il nome utente e l'indirizzo smtp effettivi.

  • Postfisso di aggiornamento:

     sudo chmod 600 /etc/postfix/sasl_password # for safety of your smtp password
     sudo postmap hash:/etc/postfix/sasl_password 
     sudo postmap /etc/postfix/sender_canonical
     sudo /etc/init.d/postfix restart   
    

    Potrebbe essere necessario aggirare il bug "permesso negato" con chown postfix:postfix /etc/postfix in anticipo.

Correlati:non riesco a installare la pianificazione di gnome su Ubuntu 16.04?

Questo dovrebbe farlo nella maggior parte dei casi. Tuttavia, alcuni provider smtp richiedono un indirizzo specifico come mittente o crittografia.

Correlati:Anche l'interfaccia PEAR::Mail potrebbe interessarti.

Gmail (e forse altri servizi) potrebbe non piacere che tu stia tentando di inviare la posta in questo modo in quanto potrebbe essere considerato non sicuro per i loro standard e bloccherebbe il tuo tentativo, ad esempio non accadrà nulla sullo schermo o da qualche parte l'intero processo si bloccherebbe la tua autenticazione Anche il tuo POP3 deve essere abilitato.

Per contrastare che vedi qui. (Se vuoi andare sul sicuro, crea un account Gmail fittizio)


Ubuntu
  1. Come installare e configurare Postfix

  2. Come installare e configurare Postfix su Ubuntu 20.04

  3. Ubuntu:come fare in modo che Pam_exec esegua lo script come utente corrente?

  4. Come inviare un messaggio Xmpp utilizzando la riga di comando?

  5. Come faccio a inviare e-mail dalla riga di comando?

Come cambiare il nome host in Ubuntu Linux

Come installare l'ultimo PHPMyAdmin su Ubuntu 18.04

Come modificare la versione PHP in Plesk?

Come modificare la versione PHP in cPanel

Come modificare la versione PHP

Come controllare la versione PHP su Linux