2017 © Pedro Peláez
 

library gatling-mail

image

runner/gatling-mail

  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 1 Forks
  • 0 Open issues
  • 5 Versions
  • 2 % Grown

The README.md

gatling-mail

加特林机枪, 突突突突突突突突突, (*1)

还是抄的, (*2)

想法来源于laravel内置的邮件服务, 集成了sendcloud的发送驱动以及smtp的发送驱动。, (*3)

smtp也是抄的,抄PHPMailer的。, (*4)

安装

composer -vvv require runner/gatling-mail

使用

内置了支持简单替换变量的模板, (*5)

例如,当使用 sendcloud 的普通发送或者 smtp 发送时,可以这么用:, (*6)

(new Email())->content(function(Message $message) {
    $message->setName('test message')
            ->setContent('test content by {username}')
            ->setParameters([
                'username' => 'runnerlee',
            ]);
});

当使用 sendcloud 的模板发送时,则因为 xsmtpapi 字段的原因,需要把这么配置:, (*7)


(new Email())->content(function(Message $message) { $message->setName('test message') ->setContent('test content by %username%') ->setDelimiter('%', '%') ->setParameters([ 'username' => ['runnerlee'], ]); });

具体原因请参考 sendcloud 的接口文档, (*8)


// 实例化发送驱动, $sendcloud = new \Runner\GatlingMail\Drivers\SendCloudDriver([ 'api_user' => 'shuai', 'api_key' => 'bi', ]); // 实例化发送器, 装入发送驱动, $mailer = new \Runner\GatlingMail\Mailer($sendcloud); // 实例化邮件, 类似于用客户端发送邮件时的新建邮件动作 $email = (new \Runner\GatlingMail\Email()) ->subject('this is a test email') ->to('runnerleer@gmail.com') ->from('master@gov.cn', '收水费了') ->content(function(\Runner\GatlingMail\Message $message) { $message->setName('test message') ->setContent('test content by %username%') ->setDelimiter('%', '%') ->setParameters([ 'username' => 'runnerlee', ]); }) ->tag('10086') ->attach('address.txt', __DIR__ . '/address.txt'); // 装入邮件, biubiubiu $mailer->setEmail($email)->send();

在 fastD(~1.4) 中使用

注册为辅助服务

# app/Application.php, (*9)

public function registerService()
{
    // 配置发送驱动
    $sendCloud = new \Runner\GatlingMail\Drivers\SendCloudDriver([
        'api_user' => '',
        'api_key'  => '',
    ]);
    $email = (new \Runner\GatlingMail\Email())->from('contact@runnerlee.com', 'runnerlee');
    return [
        'mailer' => (new \Runner\GatlingMail\Mailer($sendCloud)),
    ];
}

# src/DemoBundle/Events/Demo.php, (*10)


public function indexAction() { $this->get('mailer') ->getEmail() ->to('runnerleer@gmail.com') ->content(function(\Runner\GatlingMail\Message $message) { $message->setName('test message') ->setContent('test content by {username}') ->setParameters([ 'username' => 'runnerlee', ]); }) ->subject('this is a test email'); $this->get('mailer')->send(); }

参考

http://www.cnblogs.com/sdgwc/p/3324368.html, (*11)

https://mozillazg.com/2013/07/python-send-email-set-priority.html, (*12)

TODO

  • 限制附件大小
  • 优化调用

The Versions

02/08 2018

dev-dev

dev-dev

  Sources   Download

08/02 2017

dev-master

9999999-dev

  Sources   Download

MIT

The Requires

  • php >=5.6

 

The Development Requires

08/02 2017

v1.0.2

1.0.2.0

  Sources   Download

MIT

The Requires

  • php >=5.6

 

The Development Requires

28/07 2016

v1.0.0

1.0.0.0

  Sources   Download

MIT

The Requires

 

28/07 2016

v1.0.1

1.0.1.0

  Sources   Download

MIT

The Requires