How does PHPMailer work in terms of sending emails through SMTP and handling attachments?
PHPMailer allows you to send emails using SMTP, which is a protocol for sending emails securely through a server. It also provides functionality for attaching files to your emails. To send an email with attachments using PHPMailer, you need to set the attachment file path and name before sending the email.
use 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 = 'your@example.com';
$mail->Password = 'your_password';
$mail->SMTPSecure = 'tls';
$mail->Port = 587;
$mail->setFrom('your@example.com', 'Your Name');
$mail->addAddress('recipient@example.com', 'Recipient Name');
$mail->addAttachment('/path/to/file.pdf', 'file.pdf');
$mail->isHTML(true);
$mail->Subject = 'Subject';
$mail->Body = 'Email body content';
$mail->send();
echo 'Email sent successfully';
} catch (Exception $e) {
echo 'Message could not be sent. Mailer Error: ', $mail->ErrorInfo;
}
Keywords
Related Questions
- What common mistakes can occur when handling form data in PHP scripts?
- What are some common mistakes or misunderstandings when working with time calculations in PHP?
- How can one transition from using the deprecated mysql extension to mysqli or PDO in PHP scripts for better compatibility and security?