In questo articolo voglio presentarvi una libreria in PHP molto funzionale. Molte volte si vuole poter mandare delle mail tramite i pannelli di amministrazione dei siti (CMS). Questo per informare, ad esempio, i clienti di offerte, newsletter o per mandare delle notifiche. Ma esattamente come si fa ad inviare delle e-mail con il linguaggio PHP?
Innanzitutto PHP, per soddisfare questa esigenza, ha una funzione chiamata mail() che, passandole determinati argomenti, compone il messaggio di posta elettronica e lo invia ai destinatari. Un semplice esempio di invio mail può essere:
<?php
$headers="From: info@nomesito.it";
// L'INDIRIZZO DEL DESTINATARIO DELLA MAIL
$to = "info@nomedestinatario.it";
// L' OGGETTO DELLA MAIL
$subject = "Oggetto: ". trim(stripslashes($oggetto)) . "\n";
// COSTRUZIONE DEL CORPO DEL MESSAGGIO
$body .= "Hai ricevuto un'e-mail dal sito www.nomesito.it. \n";
$body .= "Messaggio: " . trim(stripslashes($messaggio)) . "\n";
@mail($to, $subject, $body, $headers)
?>
Con queste semplici righe si può mandare un'e-mail ai destinatari assegnati alla variabile $to. Ma se volessimo inviare dei messaggi con degli allegati e con i campi Ccn? Allora qui, con questa funzione, le cose si complicano perché bisognerebbe avere una buona conoscenza dei protocolli di rete. Per superare questo problema possiamo utilizzare una libreria, open source, chiamata PHP Mailer che potete trovare qui sul canale GitHub. Per implementare un'email con uno o più allgati si utilizza un semplice codice come il seguente:
<?php
include("class.phpmailer.php");
$mail = new PHPMailer();
$mail->From = "info@nomesito.it";
$mail->FromName = "NOMESITO.IT";
$mail->AddAddress("nomedestinatario@mail.it");
$mail->IsHTML(true);
$mail->AddBCC($indirizzibcc);
$mail->Subject = $oggetto;
$mail->Body = $messaggio;
$mail->AltBody = "";
$mail->AddAttachment("allegati/info1.pdf");
$mail->AddAttachment("allegati/info2.pdf");
if(!$mail->Send()){
echo "ERRORE nell'invio della mail.";
}else{
echo "SUCCESSO l'email è stata inviata!";
}
?>
Come avete visto, anche chi non ha esperienza con la programmazione a oggetti in PHP riesce a capire pienamente il codice esempio. Con questo riusciamo in modo semplice a inviare anche molti allegati.
Sono un appassionato di informatica, mi dedico allo sviluppo web e alla gestione dei sistemi web-based: realizzo siti e progetto software gestionale per privati e aziende. Ho tanta passione per tutto quello che riguarda il web e le nuove tecnologie, lavoro bene in team e collaboro con aziende e professionisti di settore.