germania-kg/mailer 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

germania-kg/mailer

Composer 安装命令:

composer require germania-kg/mailer

包简介

Pimple Service Provider for email and SwiftMailer services.

README 文档

README

Pimple Service Provider for email and SwiftMailer services.

Packagist PHP version Build Status Scrutinizer Code Quality Code Coverage Build Status

Installation

$ composer require germania-kg/mailer

Registering

<?php
use Germania\Mailer\MailerServiceProvider;

$dic = new \Pimple\Container;
$dic->register( new MailerServiceProvider );

Configuration

The configuration is an array with typical mail configration fields, each of them empty.

You can retrieve the configuration from the Pimple container like this:

$dic->register( new MailerServiceProvider );
$config = $dic['Mailer.Config'];
print_r($config);
(
    [smtp] =>
    [port] =>
    [ssl] =>
    [user] => 
    [pass] =>
    [from_name] =>
    [from_mail] =>
    [to] =>
    [subject] =>
)

Configure on Instantiation

Pass a custom configuration to the MailerServiceProvider constructor. Register it to Pimple container as usual.

$mailer_service_provider = new MailerServiceProvider([
  'from_name' => 'John Doe',
  'from_mail' => 'me@test.com'
]);

$dic->register( $mailer_service_provider );
$config = $dic['Mailer.Config'];
print_r($config);
(
    [smtp] =>
    [port] =>
    [ssl] => 
    [user] => 
    [pass] =>
    [from_name] => John Doe
    [from_mail] => me@test.com
    [to] =>
    [subject] =>
)

Configure at Runtime

Two ways:

  • After registering the ServiceProvider to Pimple (i.e. extending the Mailer.Config service definition)
  • Before registering, pre-defining the configuration in a Mailer.Config service definition

After registering with Pimple

$dic->register( new MailerServiceProvider() );
$dic->extend('Mailer.Config', function($default_config, $dic) {
  $new_config = array_merge($default_config, [
    'from_name' => 'John Doe',
    'from_mail' => 'me@test.com'
  ]);
  return $new_config;
});

Before registering with Pimple

$dic['Mailer.Config'] = function($dic) {
  return array(
    'from_name' => 'John Doe',
    'from_mail' => 'me@test.com'
  );
};

$dic->register( new MailerServiceProvider() );

Usage

Setup MailerServiceProvider:

$dic->register( new MailerServiceProvider([
    'from_name' => 'John Doe',
    'from_mail' => 'me@test.com',
    'to'        => 'admin@test.com',
  	'subject'   => 'Default subject'
]));

SwiftMailerCallable

<?php
use Germania\SwiftMailerCallable\SwiftMailerCallable;

// Grab the Mailer callable
$mailer = $dic[SwiftMailerCallable::class];
// DEPRECATED service name: 
$mailer = $dic['Mailer.Callable'];

// Send with subject and mail body
$result = $mailer("The subject", "<p>The mailtext</p>");

# Override receipient address
# previosuly set in Mailer.Config
$result = $mailer("The subject", "<p>The mailtext</p>", "admin@test.com");

SwiftMailer

See https://swiftmailer.symfony.com/docs/introduction.html

<?php
use Germania\Mailer\SwiftMessageFactory;
use \Swift_Mailer;

// Grab Swiftmailer
$swift_mailer = $dic[Swift_Mailer::class];  

// Setup message
$message_factory = $dic[SwiftMessageFactory::class];
$message = $message_factory->createMessage();
$message->setBody("This is the mail body");

// This optional as we set it with Configuration
$message->setSubject( "Custom subject line" );

// Send message
$result = $swift_mailer->send( $message ));

Development

$ git clone https://github.com/GermaniaKG/Mailer.git
$ cd Mailer
$ composer install

Unit tests

Either copy phpunit.xml.dist to phpunit.xml and adapt to your needs, or leave as is. Run PhpUnit test or composer scripts like this:

$ composer test
# or
$ vendor/bin/phpunit

统计信息

  • 总下载量: 466
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 1
  • 推荐数: 1

GitHub 信息

  • Stars: 0
  • Watchers: 2
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2017-11-15

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固