Inviare email con PHP è un'operazione comune per molte applicazioni web, come l'invio di notifiche, conferme di registrazione o comunicazioni personalizzate. In questa guida, vedremo come inviare email utilizzando la funzione mail()
di PHP e una libreria più avanzata come PHPMailer.
Utilizzo della Funzione mail()
La funzione mail()
è uno strumento base fornito da PHP per inviare email. Ecco un esempio:
<?php
$to = "destinatario@example.com";
$subject = "Oggetto del Messaggio";
$message = "Questo è il corpo dell'email.";
$headers = "From: mittente@example.com\r\n";
if (mail($to, $subject, $message, $headers)) {
echo "Email inviata con successo.";
} else {
echo "Errore nell'invio dell'email.";
}
?>
Nota che la funzione mail()
richiede che il server abbia un servizio di posta configurato, come Sendmail su Linux.
Utilizzo di PHPMailer
PHPMailer è una libreria più avanzata che offre maggiori funzionalità, come il supporto per SMTP e la gestione degli allegati. Segui questi passi per utilizzarla:
Installazione
Puoi installare PHPMailer utilizzando Composer:
composer require phpmailer/phpmailer
Esempio di Codice
Ecco un esempio di invio email con PHPMailer:
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require 'vendor/autoload.php';
$mail = new PHPMailer(true);
try {
// Configurazione del server SMTP
$mail->isSMTP();
$mail->Host = 'smtp.example.com';
$mail->SMTPAuth = true;
$mail->Username = 'utente@example.com';
$mail->Password = 'password';
$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
$mail->Port = 587;
// Impostazioni del mittente e destinatario
$mail->setFrom('mittente@example.com', 'Mittente');
$mail->addAddress('destinatario@example.com', 'Destinatario');
// Contenuto dell'email
$mail->isHTML(true);
$mail->Subject = 'Oggetto del Messaggio';
$mail->Body = '<p>Questo è il corpo del messaggio in formato HTML.</p>';
$mail->AltBody = 'Questo è il corpo del messaggio in formato plain text.';
$mail->send();
echo 'Email inviata con successo';
} catch (Exception $e) {
echo "Errore nell'invio dell'email: {$mail->ErrorInfo}";
}
?>
Questo approccio offre maggiore controllo e affidabilità rispetto alla funzione mail()
.
Conclusione
Inviare email con PHP può essere semplice o avanzato a seconda delle necessità. La funzione mail()
è utile per scenari di base, mentre librerie come PHPMailer sono ideali per funzionalità più complesse. Scegli la soluzione più adatta al tuo progetto!