phore / mail
v0.1.5
2023-06-26 17:24 UTC
Requires
- php: >7.0
- phpmailer/phpmailer: ^v6.8
- text/template: ^2.8.5
Requires (Dev)
- nette/tester: ^2.0
README
这是一个著名的 PHPMailer 邮件类和 text/template 模板系统的模板包装器。
- 单个类
- 多部分 MIME
- 使用 mailtrap.io 进行测试
演示模板
{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
可用的邮件参数
发送邮件的脚本
具有自动故障转移至第二个 SMTP-服务器。
$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"]);
安装
composer require phore/mail
配置 PHPMailer / text-template
$mailer = new PhoreMailer(); $mailer->phpmailer->phpMailerFunction();
$mailer = new PhoreMailer(); $mailer->textTemplate->textTemplateFunction();
使用 SMTP 发送邮件而不使用邮件服务器
此方法仅用于测试。大多数邮件服务器将拒绝使用此方法传输的邮件。
演示
调试
而不是发送邮件,您可以通过调用 prepare()
来检索 PHPMailer 实例。
$phpmail = $phoreMailer->prepare($template,[]);
print_r ($phpmail);
$phpmail->Send();
拦截外出邮件
$mailer->setSendMailFunction(function (PHPMailer $mail, PhoreMailer $phoreMailer) { $res["to"] = $mail->getAllRecipientAddresses(); $res["subject"] = $mail->Subject; $res["html"] = $mail->Body; $res["text"] = $mail->AltBody; });