Explore a step-by-step guide on sending emails using the PHP Flight Framework. Learn how to integrate PHPMailer, set up SMTP, and enhance your web application’s functionality with this comprehensive email-sending example.
Start by installing the PHPMailer library—it’s the first thing you need to do.
The PHPMailer library is a comprehensive class for creating and sending emails in PHP.
composer require phpmailer/phpmailer
SMTP Sandbox Account for PHP Flight Framework
Test the mail function effortlessly with a free SMTP sandbox account from MailMug.net.
First, create an account then copy the credentials from the dashboard > settings page.

Sending Emails with PHP Flight Sample code
<?php
require 'vendor/autoload.php';
use PHPMailer\PHPMailer\PHPMailer;
class initMailer extends PHPMailer
{
function __construct($host, $port, $username, $password, $from_name){
parent::__construct();
$this->isHTML(false);
$this->isSMTP();
$this->Host = $host;
$this->SMTPAuth = true;
$this->Username = $username;
$this->Password = $password;
$this->Port = $port;
$this->From = $from_name;
$this->FromName = $from_name;
}
}
Flight::route('/test', function(){
$email = Flight::smtpMailer(false);
$email->SMTPDebug = 2;
$email->AddAddress( 'to@mail.com', 'To Mail Owner Name' );
$email->isHTML(true);
$email->Subject = 'Some subject';
$email->Body = '<strong>Hello</strong> World letter';
var_dump($email->Send());
});
$options = [ 'smtp.mailmug.net', '2525', 'lz5ebosxdq0uruxb', 'kbs6m4hifn8di3gi', 'test@mailmug.net' ];
Flight::register('smtpMailer', 'initMailer', $options);
Flight::start();
Here initMailer class is helping to initialize SMTP credentials to the Mailer class. The Flight::register method allows to reinitialize the initMailer class.
Set $email->SMTPDebug = 0 to disable the debug data output.