Web Hosting > Utilizzo > Invio e-mail
logo Neomedia

ATTENZIONE: Sui server web di Neomedia è bloccato sia l'uso della funzione PHP mail() che il collegamento a server e-mail diversi da quello di Neomedia.

Purtroppo sempre più spesso i siti web (soprattutto se realizzati tramite piattaforme standard tipo WordPress, Joomla!, PrestaShop, etc.) vengono facilmente hackerati ed utilizzati per l'invio massiccio di e-mail spam. Questo causa il rallentamento del server e la saturazione della banda. Per ovviare a ciò siamo stati costretti a bloccatre sia l'uso della funzione PHP mail() che il collegamento a tutti i server e-mail a parte quello di Neomedia. In realtà, per la precisione, sono bloccati solo i collegamenti alla porta 25, cioè la porta standard del servizio SMTP, usata normalmente per l'invio delle e-mail e quindi anche dai programi di invio spam. Tutte le altre porte sono invece aperte.

Quindi, per l'invio delle e-mail dai vostri siti web ci sono due possibilità:

  1. Server e-mail di Neomedia con autenticazione
    Si può utilizzare il server e-mail di neomedia (smtp.neomedia.it) però è richiesta l'autenticazione sul server e quindi bisogna avere un account e-mail sui server Neomedia. Si può usare una qualsiasi casella su dominio "neomedia.it" oppure su un vostro dominio, purché risieda sui nostri server. In alternativa potete comunque chiederci di attivarvi un account apposito che userete solo per l'autenticazione su Neomedia e che poi redirigerà le e-mail su una vostra casella presso qualche altro provider.
  2. Altri server e-mail su porta diversa dalla 25
    Verso i server e-mail di altri provider è bloccata solo la porta 25, cioè quella standard del protocollo SMTP, in quanto usata normalmente dai programmi di invio e-mail spam. Si possono quindi utilizzare server e-mail di altri provider purchè mettano a disposizione anche una porta diversa dalla 25. Ad esempio molti provider mettono a disposizione la porta 587 (MSA, Mail Submission Agent) usata appunto per l'invio di e-mail ma solitamente previa autenticazione. Oppure la porta 465, usata per il protocollo SMTPS, cioè la versione sicura (ovvero cifrata) dell'SMTP.

Invio e-mail tramite linguaggio PHP

Come già scritto, la funzione mail() del linguaggio PHP è disabilitata, anche perché non permette l'invio con autenticazione. Occorre quindi fare uso di qualche estensione che permetta l'autenticazione sul server e-mail, o almeno l'impostazione di una porta diversa dalla 25. Ve ne sono diverse, ma la soluzione più semplice consiste nell'uso della libreria PEAR "Mail.php", che trovate già installata sui nostri server.

Qui sotto trovate un esempio di utilizzo di questa libreria per inviare e-mail tramite autenticazione sul server Neomedia. Cambiando invece il nome del server ed il numero di porta potete usare la medesima libreria anche per inviare e-mail tramite altri server.

require_once "Mail.php";

$destinatario = "emaildestinatario@dominio.it";
$tuaemail = "tuaemail@neomedia.it";
$tuapassword = "latuapassword";

$intestazione = array ('From' => $tuaemail,
                       'To' => $destinatario,
                       'Subject' => "Oggetto del messaggio");

$email = Mail::factory('smtp',
                       array ('host' => "smtp.neomedia.it",
                              'port' => 25,
                              'auth' => true,
                              'username' => $tuaemail,
                              'password' => $tuapassword));

$result = $email->send($destinatario, $intestazione, "Testo della e-mail.");

if (PEAR::isError($result)) {
        echo("<p>" . $result->getMessage() . "</p>");
} else {
        echo("<p>E-mail inviata correttamente!</p>");
}

Invio e-mail tramite WordPress o piattaforme simili

Se invece di realizzare voi stessi il vostro sito web in linguaggio PHP fate uso di una applicazione per la creazione di siti (ad esempio WordPress, Joomla!, PrestaShop, etc.) occorre che cambiate le impostazioni per l'invio delle e-mail in modo da usare una delle due opzioni indicate sopra. Talvolta però sarà necessario installare un'apposita estensione.

Ad esempio, di default WordPress non permette l'autenticazione nell'invio delle e-mail. Occore quindi installare e configurare una estensione che lo permetta, come ad esempio la seguente "WP Mail SMTP":

https://wordpress.org/plugins/wp-mail-smtp/