wscore/mail

与mail相关的包

1.0.0 2015-10-02 06:33 UTC

This package is not auto-updated.

Last update: 2024-09-22 07:41:41 UTC


README

SwiftMailer的包装类,用于简化一些操作。

  • 框架无关。
  • 许可证:MIT许可证。
  • PSR:PSR-1,PSR-2和PSR-4。

基本用法

就像1,2,3...一样简单...

use WScore\Mail\Transport\Transport;
use WScore\Mail\Mailer;

// 1. create a transport
$transport = Transport::forgeSmtp();

// 2. create a mailer
$mailer = Mailer::newInstance($transport);

// 3. send mails
$mailer->sendText('hello world', function(Swift_Message $message) {
    $message->setTo('test@example.com', 'tested');
});

消息默认值

你可以创建一个MessageDefault对象来在Mailer中设置默认消息。在MessageDefault对象中的方法,以with开头,是不可变调用。

// somewhere in a config file. 
use WScore\Mail\MessageDefault;
$default = MessageDefault::newInstance()
    ->withFrom('from@example.com', 'from address');
    ->withReturnPath('bad-mail@example.com')
    ->withReplyTo('sender@example.com', 'sender name');

$mailer = Mailer::newInstance($transport)
    ->setMessageDefault($default);

// later on...
$mailer->setMessageDefault(
    $mailer->getMessageDefault()->withBulk() // send bulk mail?
);
$mailer->sendHtml('<h1>hi</h1>', function(Swift_Message $message) {
    $message->setTo('to@example.com');
});

或者,只需使用闭包作为MessageDefault。

Japanese ISO-2022

以ISO2022编码发送日语。你必须调用Transport::goJapaneseIso2022()并使用$mailer->sendJIS(...)方法;

Transport::goJapaneseIso2022();
$transport = Transport::forgeSmtp();
$mailer = Mailer::newInstance($transport);
$mailer->sendJIS('some japanese text here',
    function(Swift_Message $message) {
        $message->setTo('test@example.com', 'tested');
});

根据我的经验,在发送基于ISO2022编码的电子邮件时使用SMTP传输...