jdr/mailer

构建并发送电子邮件。

0.0.1 2016-10-08 10:32 UTC

This package is auto-updated.

Last update: 2024-09-12 02:30:10 UTC


README

Latest Version on Packagist Software License Build Status Coverage Status Quality Score Total Downloads

此包旨在简化发送电子邮件的过程。

电子邮件通过 SwiftMailerBridge 使用 Swift Mailer 发送,但如果你想,你可以实现自己的。只要它实现了 Mailer

目前,仅通过 MailerBundle 支持使用 (twig) 模板。

安装

通过 Composer

$ composer require jdr/mailer

用法

<?php

use JDR\Mailer\EmailType;
use JDR\Mailer\Email\Address;
use JDR\Mailer\Part;

/**
 * The EmailType defines the message.
 */
class WelcomeEmail implements EmailType
{
    /**
     * @var User
     */
    private $user;

    /**
     * Constructor.
     *
     * @param User $user
     */
    public function __construct(User $user)
    {
        $this->user = $user;
    }

    /**
     * {@inheritdoc}
     */
    public function buildEmail(EmailBuilder $builder)
    {
        $builder
            ->add(new Part\Sender(
                new Address('hello@example.com', 'Hello Example')
            ))
            ->add(new Part\Recipients(
                new Address($this->user->getEmail(), $this->user->getUsername())
            ))
            ->add(new Part\Subject(
                'Welcome {{ username }}',
                [
                    '{{ username }}' => $this->user->getUsername(),
                ]
            ))
            ->add(new Part\Message(
                'text/html',
                <<<EOT
Welcome {{ username }},
Thank you for choosing jdr/mailer, enjoy your stay.
EOT
                ,
                [
                    '{{ username }}' => $this->user->getUsername(),
                ]
            ))
        ;
    }
}

// Create a new Mailer (i.e. SwiftMailer)
$mailer = new SwiftMailer();
$mailer->sendEmail(new WelcomeEmail($user));

变更日志

请参阅 CHANGELOG 获取更多最近更改的信息。

测试

$ composer test

贡献

请参阅 CONTRIBUTINGCONDUCT 获取详细信息。

安全

如果您发现任何与安全相关的问题,请通过电子邮件 dev@johanderuijter.nl 而不是使用问题跟踪器。

致谢

许可

MIT 许可证 (MIT)。请参阅 许可文件 获取更多信息。