gribanov/sendmail

用于发送邮件的库

v1.6.2 2017-11-28 14:31 UTC

This package is auto-updated.

Last update: 2024-08-28 22:42:26 UTC


README

Latest Stable Version Total Downloads Build Status Coverage Status Scrutinizer Code Quality SensioLabs Insight StyleCI License

用于发送邮件的包。

示例

使用mail()函数发送邮件

通过PHP函数mail()发送一条消息

use Sendmail\Message;
use Sendmail\Sender\Mail;

$message = new Message();
$message
    ->setTo('user@example.com')
    ->setSubject('Example subject')
    ->setText('Example message');
$sender = new Mail();
$sender->send($message);

通过SMTP发送邮件

连接到SMTP服务器并向其推送邮件

use Sendmail\Queue;
use Sendmail\Message;
use Sendmail\Sender\Smtp;
use Sendmail\Sender\Smtp\Exception;

$message1 = new Message();
$message1
    ->setTo('user1@example.com')
    ->setSubject('Example subject 1')
    ->setText('Example message 1')
    // email of the sender
    ->setFrom('sender@example.com', 'Sender');

$message2 = clone $message1;
$message2
    ->setTo('user2@example.com')
    ->setSubject('Example subject 2')
    ->setText('Example message 2');

// sending messages to the queue via a direct connection to the SMTP server
$queue = new Queue(new Smtp('example.com', 25, 'username', 'password'));
$queue
    ->add($message1)
    ->add($message2);

try {
    // send all messages
    var_dump($queue->send());
} catch (Exception $e) {
    // SMTP dialogue
    echo $e->getDialogue()->getLog();
}

$queue->clear();

创建邮件列表

use Sendmail\Queue;
use Sendmail\Message;
use Sendmail\Sender\Mail;

$message = new Message();
$message
    ->setSubject('Example subject')
    ->setText('<h1>Example message.<h1><p>You can remove this message.</p>')
    // email of the sender
    ->setFrom('sender@example.com')
    // send email in HTML format
    ->inHTML();

$queue = new Queue(new Mail());
// add to queue a letter addressed to multiple recipients
$queue->notify(
    array(
        'user1@example.com',
        'user2@example.com',
        'user3@example.com'
    ),
    $message
);

$queue->send();
$queue->clear();