phore / mail
Installs: 8 541
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 3
Forks: 0
Open Issues: 0
Language:Shell
Requires
- php: >7.0
- phpmailer/phpmailer: ^v6.8
- text/template: ^2.8.5
Requires (Dev)
- nette/tester: ^2.0
README
A template wrapper around the famous PHPMailer Mailer class and the text/template template system.
- Single Class
- Multipart Mime
- Testing using mailtrap.io
Demo template
{mail to="abc@abc.de" name="Some Name"}
{mail from="sender@address.de" name="Me"}
{mail cc="mail@email" name="Some Name"}
{mail bcc="mail@email" name="Some Name"}
{subject}Hello {=name} - You are the welcome{/subject}
{html}
<body>
<b>Hello {= name}</b>,
<p>
This HTML Mime Mail
</p>
</body>
{/html}
Hello {= name},
This is the alternative Text body
Available mail parameters
Script for sending a mail
With auto-failover to second SMTP-Server.
$mailer = new PhoreMailer(); $mailer->config([ "Host" => "smtp1.example.org;smtp2.example.org", "Username" => "user@example.org", "Password" => "secret", "SMTPAuth" => true ]); $mailer->send($templateText, ["name"=>"Joe Doe"]);
Installation
composer require phore/mail
Configuring PHPMailer / text-template
$mailer = new PhoreMailer(); $mailer->phpmailer->phpMailerFunction();
$mailer = new PhoreMailer(); $mailer->textTemplate->textTemplateFunction();
Sending mail without mailserver using SMTP
This method is for testing only. Most Mailservers will reject mail transferred with this method.
Demos
Debugging
Instead of sending the mail, you can retrieve the PHPMailer
instance by calling prepare()
.
$phpmail = $phoreMailer->prepare($template,[]);
print_r ($phpmail);
$phpmail->Send();
Intercepting outgoing mail
$mailer->setSendMailFunction(function (PHPMailer $mail, PhoreMailer $phoreMailer) { $res["to"] = $mail->getAllRecipientAddresses(); $res["subject"] = $mail->Subject; $res["html"] = $mail->Body; $res["text"] = $mail->AltBody; });