Last active 1729703497

PHPMailer-2.php Raw
1<?php
2//Import PHPMailer classes into the global namespace
3//These must be at the top of your script, not inside a function
4use PHPMailer\PHPMailer\PHPMailer;
5use PHPMailer\PHPMailer\SMTP;
6use PHPMailer\PHPMailer\Exception;
7
8//Load Composer's autoloader
9require 'vendor/autoload.php';
10
11//Create an instance; passing `true` enables exceptions
12$mail = new PHPMailer(true);
13
14try {
15 //Server settings
16 $mail->SMTPDebug = SMTP::DEBUG_SERVER; //Enable verbose debug output
17 $mail->isSMTP(); //Send using SMTP
18 $mail->Host = 'smtp.example.com'; //Set the SMTP server to send through
19 $mail->SMTPAuth = true; //Enable SMTP authentication
20 $mail->Username = 'user@example.com'; //SMTP username
21 $mail->Password = 'secret'; //SMTP password
22 $mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS; //Enable implicit TLS encryption
23 $mail->Port = 465; //TCP port to connect to; use 587 if you have set `SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS`
24
25 //Recipients
26 $mail->setFrom('from@example.com', 'Mailer');
27 $mail->addAddress('joe@example.net', 'Joe User'); //Add a recipient
28 $mail->addAddress('ellen@example.com'); //Name is optional
29 $mail->addReplyTo('info@example.com', 'Information');
30 $mail->addCC('cc@example.com');
31 $mail->addBCC('bcc@example.com');
32
33 //Attachments
34 $mail->addAttachment('/var/tmp/file.tar.gz'); //Add attachments
35 $mail->addAttachment('/tmp/image.jpg', 'new.jpg'); //Optional name
36
37 //Content
38 $mail->isHTML(true); //Set email format to HTML
39 $mail->Subject = 'Here is the subject';
40 $mail->Body = 'This is the HTML message body <b>in bold!</b>';
41 $mail->AltBody = 'This is the body in plain text for non-HTML mail clients';
42
43 $mail->send();
44 echo 'Message has been sent';
45} catch (Exception $e) {
46 echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}";
47}