Esercizi Invio Email PHP
- Esercizio 1: Invio di Email Sequenziale con mail()
- Esercizio 2: Invio di Email Sequenziale con Headers Aggiuntivi
- Esercizio 3: Invio di Email con PHPMailer (OOP)
- Esercizio 4: Invio di Email con Allegati Utilizzando PHPMailer (OOP)
- Esercizio 5: Invio di Email con SMTP Utilizzando PHPMailer (OOP)
- Esercizio 6: Invio di Email HTML con PHPMailer (OOP)
Ecco degli esercizi con soluzione per praticare l’invio di email in PHP, sia in modo sequenziale che utilizzando la programmazione orientata agli oggetti.
mail()
Esercizio 1: Invio di Email Sequenziale con Inviare un'email semplice utilizzando la funzione `mail()` in modo sequenziale.
<?php$to = "destinatario@example.com";$subject = "Email di prova";$message = "Questo è un messaggio di prova.";$headers = "From: mittente@example.com";
if(mail($to, $subject, $message, $headers)) { echo "Email inviata con successo.";} else { echo "Errore nell'invio dell'email.";}?>
Esercizio 2: Invio di Email Sequenziale con Headers Aggiuntivi
Inviare un'email con headers aggiuntivi, inclusi `CC` e `BCC`.
<?php$to = "destinatario@example.com";$subject = "Email di prova con CC e BCC";$message = "Questo è un messaggio di prova con CC e BCC.";$headers = "From: mittente@example.com\r\n";$headers .= "CC: cc@example.com\r\n";$headers .= "BCC: bcc@example.com\r\n";
if(mail($to, $subject, $message, $headers)) { echo "Email inviata con successo.";} else { echo "Errore nell'invio dell'email.";}?>
Esercizio 3: Invio di Email con PHPMailer (OOP)
Utilizzare la libreria PHPMailer per inviare un'email semplice utilizzando la programmazione orientata agli oggetti.
<?phpuse PHPMailer\PHPMailer\PHPMailer;use PHPMailer\PHPMailer\Exception;
require 'vendor/autoload.php';
$mail = new PHPMailer(true);
try { $mail->setFrom('mittente@example.com', 'Mittente'); $mail->addAddress('destinatario@example.com'); $mail->Subject = 'Email di prova con PHPMailer'; $mail->Body = 'Questo è un messaggio di prova inviato con PHPMailer.';
$mail->send(); echo 'Email inviata con successo.';} catch (Exception $e) { echo 'Errore nell\'invio dell\'email: ', $mail->ErrorInfo;}?>
Esercizio 4: Invio di Email con Allegati Utilizzando PHPMailer (OOP)
Utilizzare PHPMailer per inviare un'email con un allegato.
<?phpuse PHPMailer\PHPMailer\PHPMailer;use PHPMailer\PHPMailer\Exception;
require 'vendor/autoload.php';
$mail = new PHPMailer(true);
try { $mail->setFrom('mittente@example.com', 'Mittente'); $mail->addAddress('destinatario@example.com'); $mail->Subject = 'Email con allegato'; $mail->Body = 'Questo è un messaggio di prova con un allegato.';
$mail->addAttachment('/path/to/file.txt');
$mail->send(); echo 'Email inviata con successo.';} catch (Exception $e) { echo 'Errore nell\'invio dell\'email: ', $mail->ErrorInfo;}?>
Esercizio 5: Invio di Email con SMTP Utilizzando PHPMailer (OOP)
Utilizzare PHPMailer per inviare un'email tramite un server SMTP.
<?phpuse PHPMailer\PHPMailer\PHPMailer;use PHPMailer\PHPMailer\Exception;
require 'vendor/autoload.php';
$mail = new PHPMailer(true);
try { $mail->isSMTP(); $mail->Host = 'smtp.example.com'; $mail->SMTPAuth = true; $mail->Username = 'username@example.com'; $mail->Password = 'password'; $mail->SMTPSecure = 'tls'; $mail->Port = 587;
$mail->setFrom('mittente@example.com', 'Mittente'); $mail->addAddress('destinatario@example.com'); $mail->Subject = 'Email inviata tramite SMTP'; $mail->Body = 'Questo è un messaggio di prova inviato tramite SMTP.';
$mail->send(); echo 'Email inviata con successo.';} catch (Exception $e) { echo 'Errore nell\'invio dell\'email: ', $mail->ErrorInfo;}?>
Esercizio 6: Invio di Email HTML con PHPMailer (OOP)
Utilizzare PHPMailer per inviare un'email in formato HTML.
<?phpuse PHPMailer\PHPMailer\PHPMailer;use PHPMailer\PHPMailer\Exception;
require 'vendor/autoload.php';
$mail = new PHPMailer(true);
try { $mail->setFrom('mittente@example.com', 'Mittente'); $mail->addAddress('destinatario@example.com'); $mail->Subject = 'Email in HTML'; $mail->isHTML(true); $mail->Body = '<h1>Messaggio di prova</h1><p>Questo è un messaggio di prova in formato HTML.</p>';
$mail->send(); echo 'Email inviata con successo.';} catch (Exception $e) { echo 'Errore nell\'invio dell\'email: ', $mail->ErrorInfo;}?>