Come controllare se il PHP mail() è abilitato?

Ho bisogno di installare un sito di PHP su un server di Microsoft. Per qualche motivo l’host non permette il sito per l’invio di e-mail. L’host mi ha inviato un codice di esempio… che non ha funzionato.

C’è un modo per verificare se il server permette l’invio di e-mail tramite la funzione php mail() funzione?

In questa fase è tutto su dito puntato e ho bisogno di qualche prova qui per mostrare al cliente che l’host è la colpa.

  • Hai provato prima di postare la tua domanda qui?
InformationsquelleAutor JasonS | 2010-10-08



3 Replies
  1. 4

    In Linux, per impostazione predefinita funzione mail() usa sendmail dal sistema operativo.

    In Windows, per impostazione predefinita, la funzione mail() non fa nulla, è necessario modificare il php.file ini.

    È possibile controllare le opzioni da php.ini il vostro hosting è in uso, la scrittura di un showinfo.php file, e all’interno di esso, scrivere:

       <?php
       phpinfo();
       ?>

    Poi se si chiama la pagina web, che vi mostrerà tutte le opzioni abilitate.

    Per essere in grado di inviare la posta elettronica di Windows, questi due valori dovrebbero essere simili come queste:

    SMTP = smtp.isp.net (the name or ip of your server)
    sendmail_from = [email protected].net

    XAMPP piattaforma è dotata di un mailtodisk sostituzione, e puoi utilizzare “fakemail” in luogo di sendmail, anche per mezzo di una connessione SMTP. Si può prendere il sendmail cartella che viene fornito con XAMPP, e ‘ impostato nel php.ini utilizzato da IIS.

  2. 2

    Per verificare se la funzione mail è attivata sul server o PHP installare, utilizzare

    <?php
    if ( function_exists( 'mail' ) )
    {
        echo 'mail() is available';
    }
    else
    {
        echo 'mail() has been disabled';
    }
    ?>

    per verificare se l’invio di mail

    <?php 
    
    $email = "[email protected]";
    $subject =  "Email Test";
    $message = "this is a mail testing email function on server";
    
    
    $sendMail = mail($email, $subject, $message);
    if($sendMail)
    {
    echo "Email Sent Successfully";
    }
    else
    
    {
    echo "Mail Failed";
    }
    ?>
    
    If the mail() function exist but mails not going, check if a mail transport agent (MTA)such as sendmail or postfix is installed on your server

    Se su Linux :

    Provare;

    $ dpkg -S `which sendmail`

    per installare sendmail su Ubuntu;

    sudo apt-get install sendmail

    https://www.digitalocean.com/community/questions/setting-up-email-with-sendmail

  3. -1

    Questo sembra come un vecchio post, ma si può utilizzare il function_exists() la funzione, verificare se la funzione esiste prima di utilizzarlo.

    • La funzione esiste, da PHP 4. Quindi, non una soluzione.

Lascia un commento