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.
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