Linux – La funzione PHP Mail disabilitata su Hosting condiviso

In questa guida si vede come ovviare alla funzione PHP Mail disabilitata su Hosting condiviso con soluzioni simili. La funzione PHP Mail è spesso usata per generare spam incontrollato soprattutto su siti creati con CMS come WordPress o Joomla senza le apposite precauzioni di verifica sull’invio email, non sono invece coinvolti gli stack LAMP dei server dedicati o dei server virtuali.

Usare CodeIgniter Framework

Se l’applicazione usa il Framework Coldelgniter puoi ovviare al problema email con questo semplice codice. Per le funzionalità complete consulta la documentazione su www.codeigniter.com/docs

$this->load->library(’email’);
$this->email->from(‘noreply@momit.eu’, ‘Momit SRL’);
$this->email->to($email); // $email = “email_id”
$this->email->subject(‘Benvenuto in Momit.’);
$this->email->message(‘<html>
<head>
</head>
<body>
<p><b>Qui scrivi il contenuto della tua email..</b></p>
</body>
</html>’);
$this->email->send();

Usare la libreria PEAR

La libreria PEAR  ha integrata anche la funzione di  gestione invio mail e supporta l’autenticazione  SMTP  usando un account esistente definito sul dominio.

include(‘Mail.php’); // funzione PEAR Mail

$headers = array (‘From’ => $from, ‘To’ => $to, ‘Subject’ => $subject); 
// intestazione mail 

$smtp = Mail::factory(‘smtp’, array (‘host’ => “localhost”, ‘auth’ => true,
‘username’ => $username, ‘password’ => $password, ‘port’ => ‘587’)); 
// parametri SMTP

$mail = $smtp->send($to, $headers, $body); // invio della mail

Usare SwiftMailer

SwiftMailer è un’altro metodo per inviare email dal proprio sito. Anche in questo caso supporta l’autenticazione  SMTP  usando un account esistente definito sul dominio.

$mailer = Swift_Mailer::newInstance($transport);

$transport->setUsername(‘no_reply@momit.eu’);
$transport->setPassword(‘password_account’);

$message = Swift_Message::newInstance();

$message->setSubject(‘Oggetto della e-mail’);
$message->setFrom(array(‘noreply@momit.eu’ => ‘Nome Mittente’));
$message->setTo(array($email));

$message->addPart(‘<p>Se necessario abilitare <b>HTML nel corpo mail usa 
addPart()</b></p>’, ‘text/html’);

$result = $mailer->send($message); // restituisce FALSE se l'invio fallisce

Usare SendGrid

SendGrid è un servizio esterno che permette di inviare migliaia di email via HTTP semplicemente creando un account ed integrando una API Key. Per la documentazione completa consultare www.sendgrid.com

$sendgrid = new SendGrid($api_user, $api_key);
$email = new SendGridEmail();
 
$email->addTo("no_reply@momit.eu")
 ->setFrom("no_reply@momit.eu")
 ->setSubject("Oggetto del messaggio")
 ->setHtml("corpo del messaggio, può contenere HTML");
 
$sendgrid->send($email);

Non riesci a configurare l’invio email dal tuo sito PHP ?

Contatta il nostro supporto tecnico via chat o contattaci tramite l’area dedicata

Viale Enrico Forlanini, 23 20134 Milano - P.IVA / C.F IT07634600964 - Tel. +39 02 87187306 Copyright © 2015 - 2020 MOMIT - All Rights Reserved