Need help? Chat now!

Hostwinds Tutorial

Cerca risultati per:


Sommario


Come inviare posta da uno script PHP
E se questo fosse con un plugin per WordPress?

Perché il mio script PHP non invia la posta?

Tag: Email,  WordPress 

Come inviare posta da uno script PHP
E se questo fosse con un plugin per WordPress?

Ci sono molte ragioni per cui potresti non essere in grado di inviare e-mail dal tuo codice PHP. Uno dei motivi più comuni sarebbe che lo script non sta utilizzando l'autenticazione. La maggior parte dei server di posta elettronica richiede di autenticare l'account e-mail prima di poter inviare e-mail da esso. Questo è quello di impedire qualsiasi potenziale spoofing delle e-mail e delle e-mail non autorizzate inviate attraverso i conti e-mail.

Mentre Hostwinds di solito non aiuta con la codifica o lo sviluppo del sito, ecco una breve guida su uno script PHP di esempio per inviare e-mail.

Come inviare posta da uno script PHP

Vari modi possono essere utilizzati in PHP per inviare e-mail. In questo esempio, useremo il PHPMAILAILER. Assicurarsi di avere l'indirizzo email che invierai e-mail da e-mail già creato sul server. Per CPANEL, abbiamo una guida come farlo qui. Dopo aver creato quell'indirizzo email, puoi procedere con i passaggi seguenti.

Poiché questo verrà fatto utilizzando il codice PHP, puoi creare un file PHP di prova. Per ora, chiamalo come sendemail.php

Dopo aver creato la pagina, vorrai modificare quel file. Puoi modificare questo file direttamente in CPANEL o sul tuo computer locale. Se lo modifica sul tuo computer locale, assicurati di caricare il file sul tuo server.

Una volta aperto il file. Ti consigliamo di digitare del codice. Ecco un piccolo frammento che utilizzeremo,

\ <? PHP

// This will allow us to incorporate the PHPMailer class into our program. 
// This assumes that PHPMailer is located in a folder called PHPMailer in the same directory.
require\_once("PHPMailer/PHPMailer.php");

// This enables us to use the namespace of PHPMailer to instantiate the class.
use PHPMailer\\PHPMailer\\PHPMailer;
    // Make sure that you have included the necessary PHPMailer files to be used with this code
    $t\_mailer = new PHPMailer;

    // Set the server to use SMTP Authentication (Check Username and Password)
    $t\_mailer->SMTPAuth = true;

    // The username that will be used to login to the webserver to send the email.
    $t\_mailer->Username = "from@example.com";

    // The password that will be used to login to the webserver as well.
    $t\_mailer->Password = "SecretPassword";

    // This is the method of authentication with the webserver.
    $t\_mailer->SMTPSecure = 'tls';

    // This is the port that your SMTP server is using to connect.
    $t\_mailer->Port = 587;

    // Here you will set the from address. This would be the email account that is sending the mail.
    $t\_mailer->setFrom("from@example.com", "Name for the owner of the Account");

    // Here you will add the addresses that will be receiving the mail. You can add more than one if you would like.
    $t\_mailer->addAddress("to@example.com", "Name for who is being sent the email.");

    // This is where you can set the subject for the email being sent.
    $t\_mailer->Subject = "Here you can put the subject of the message.";

    // Here you will type out the text inside the email that is being sent.
    $t\_mailer->Body = "This will be the message body that is sent.";

    // This is a basic If statement, that can be used to send mail. 
    if(!$t\_mailer->send()) {
        // If the mailer was unable to send the email, it will display an error message.
        echo "Message has not been sent!";
        echo "Mailer Error: " . $t\_mailer->ErrorInfo;
    } else {
        // If the mailer was able to send the email, it will say sent successfully.
        echo "Message has been sent successfully!";
    }
?>
  1. Assicurati che quando stai digitando il codice sopra o usandolo come riferimento. Che si sostituiscono gli indirizzi e le password e-mail che vengono utilizzati. Se questi non sono corretti o l'account e-mail non esiste sul server, l'e-mail non verrà invierà.
  2. Salva il documento in modo che le modifiche vengano mantenute e possono essere utilizzate per inviare l'e-mail.
  3. Quando visiti la pagina, hai appena creato nel tuo browser web. Dovrebbe inviare una email. Questo era solo un esempio che potrebbe essere usato. Con il codice, puoi fare quasi tutto dall'invio di e-mail di conferma alle newsletter.

E se questo fosse con un plugin per WordPress?

Per quanto riguarda l'impossibilità di non essere in grado di inviare un'e-mail con un plug-in WordPress, il problema potrebbe essere che l'account e-mail non esiste. Assicurati che l'account e-mail esista e la password utilizzata sia corretta.

C'è anche un file di registro che può essere visualizzato per i messaggi di errore quando il plugin ha provato a inviare e-mail. Quel messaggio di solito darà una breve descrizione o codice sul motivo per cui l'e-mail non può essere inviata. Da lì, sarebbe più facile diagnosticare perché il plugin non ha potuto inviare l'e-mail.

Anche se non assistiamo con il lato della codifica o dello sviluppo delle cose, siamo più che felici di dare un'occhiata a questo per te.Se stai avendo problemi inviando e-mail e vorresti assistenza, siamo sempre disponibili e farà del nostro meglio per indicarti la giusta direzione.

Se dovessi avere domande o vorresti assistenza, ti preghiamo di contattarci attraverso la chat dal vivo o invio di un ticket con il nostro team di supporto tecnico.

Scritto da Michael Brower  /  ottobre 30, 2017