1. Go to this page and download the library: Download inventor96/mako-mailer library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
return [
/**
* The name of the sender.
*/
'from_name' => 'MakoMailer',
/**
* The email address of the sender.
*/
'from_email' => '[email protected]',
/**
* The name of the default reply-to address.
*/
'reply_to_name' => 'MakoMailer',
/**
* The email address of the default reply-to address.
* Set to an empty string to disable the default reply-to.
*/
'reply_to_email' => '',
/**
* The email adapter class to use.
* Must implement `inventor96\MakoMailer\interfaces\EmailSenderInterface`.
*/
'adapter' => inventor96\MakoMailer\adapters\PHPMailerAdapter::class,
/**
* ========= PHPMailer Settings =========
*/
/**
* Whether to use SMTP for sending emails.
* Set to `false` to use the mail() function.
*/
'use_smtp' => true,
/**
* SMTP server host.
*/
'host' => 'smtp.example.com',
/**
* SMTP server port.
*/
'port' => 465,
/**
* Encryption method to use.
* Set to empty string to disable encryption.
*/
'encryption' => PHPMailer\PHPMailer\PHPMailer::ENCRYPTION_SMTPS,
/**
* Whether to use SMTP authentication.
*/
'auth' => true,
/**
* SMTP username.
*/
'username' => '[email protected]',
/**
* SMTP password.
*/
'password' => 'MySecurePassword123!',
];
use inventor96\MakoMailer\Mailer;
use inventor96\MakoMailer\EmailUser;
function sendWelcomeEmail(Mailer $mailer) {
$to = new EmailUser('[email protected]', 'Recipient Name');
$from = new EmailUser('[email protected]', 'MakoMailer');
$sent = $mailer->send( // alternatively use `$this->mailer->send();` if using the alias
[$to],
'Welcome to Mako Mailer!',
'<p>Hello and welcome to Mako Mailer!</p>',
$from, // optional, will use config defaults if not provided
);
if ($sent) {
echo "Email sent successfully!";
} else {
echo "Failed to send email.";
}
}
use inventor96\MakoMailer\Mailer;
use inventor96\MakoMailer\EmailUser;
function sendWelcomeEmail(Mailer $mailer) {
$to = new EmailUser('[email protected]', 'Recipient Name');
$from = new EmailUser('[email protected]', 'MakoMailer');
$sent = $mailer->sendTemplate(
[$to],
'Welcome to Mako Mailer!',
'emails/welcome', // path to the view template, relative to the views directory. e.g. 'emails/welcome' for 'app/resources/views/emails/welcome.tpl.php'
[
'name' => 'Recipient Name',
],
$from, // optional, will use config defaults if not provided
);
if ($sent) {
echo "Email sent successfully!";
} else {
echo "Failed to send email.";
}
}
use inventor96\MakoMailer\EmailUser;
use inventor96\MakoMailer\interfaces\EmailUserInterface;
use mako\gatekeeper\entities\user\User as GatekeeperUser;
class User extends GatekeeperUser implements EmailUserInterface {
public function getEmail(): string {
return $this->email;
}
public function getName(): string {
return $this->first_name . ' ' . $this->last_name;
}
}
$user = User::getOrThrow(1); // fetch user from database
$to = EmailUser::fromUser($user);
$mailer->send([$to], 'Subject', 'Email body');
use inventor96\MakoMailer\EmailUser;
$replyTo = new EmailUser('[email protected]', 'Support Team');
$mailer->send(
[$to],
'Subject',
'Email body',
null, // from (uses config default)
$replyTo,
);