Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit e8e8099

Browse files
committed
Merge branch '5.x'
2 parents fd969b2 + 15fd9ab commit e8e8099

File tree

13 files changed

+300
-366
lines changed

13 files changed

+300
-366
lines changed

‎README.md‎

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,9 @@ $transport = new Ddrv\Mailer\Transport\SendmailTransport(
4141
$transport = new Ddrv\Mailer\Transport\SmtpTransport(
4242
'smtp.fight.club', // host (REQUIRED)
4343
25, // port (REQUIRED)
44-
'joe', // login (REQUIRED)
45-
'IAmJoesLiver', // password (REQUIRED)
44+
'info', // login (REQUIRED)
45+
'super-secret', // password (REQUIRED)
4646
'joe@fight.club', // sender email (REQUIRED)
47-
'Fight Club', // sender name
4847
null, // encryption: 'tls', 'ssl' or null
4948
'http://fight.club' // domain
5049
);
@@ -114,28 +113,27 @@ $html .= '<img src="cid:poster" alt="Poster"/><img src="cid:ticket" alt="Your ti
114113
$message->setHtml($html);
115114
116115
$message->setSender('support@fight.club', 'Support od Fight Club'); // The SMTP transport will set its value.
117-
$message->removeSender(); // If you decide to cancel. The SMTP transport will set its value.
118116
119-
$message->addRecipient('tyler@fight.club', 'Tyler Durden', Ddrv\Mailer\Contract\Message::RECIPIENT_TO);
120-
$message->addRecipient('bob@fight.club', 'Robert Paulson', Ddrv\Mailer\Contract\Message::RECIPIENT_CC);
121-
$message->addRecipient('angel@fight.club', 'Angel Face', Ddrv\Mailer\Contract\Message::RECIPIENT_BCC);
122-
$message->addRecipient('r.chesler@car-vendor.com', 'Richard Chesler', Ddrv\Mailer\Contract\Message::RECIPIENT_TO);
117+
$message->addRecipient('tyler@fight.club', 'Tyler Durden', Ddrv\Mailer\Message::RECIPIENT_TO);
118+
$message->addRecipient('bob@fight.club', 'Robert Paulson', Ddrv\Mailer\Message::RECIPIENT_CC);
119+
$message->addRecipient('angel@fight.club', 'Angel Face', Ddrv\Mailer\Message::RECIPIENT_BCC);
120+
$message->addRecipient('r.chesler@car-vendor.com', 'Richard Chesler', Ddrv\Mailer\Message::RECIPIENT_TO);
123121
124122
$message->getRecipientName('bob@fight.club'); // Returns 'Robert Paulson'.
125123
$message->getRecipientName('unknown@fight.club'); // Returns null.
126124
127125
$message->removeRecipient('r.chesler@car-vendor.com'); // If you change your mind.
128126
129127
// You may remove recipients by type
130-
$message->removeRecipients(Ddrv\Mailer\Contract\Message::RECIPIENT_TO);
131-
$message->removeRecipients(Ddrv\Mailer\Contract\Message::RECIPIENT_CC);
132-
$message->removeRecipients(Ddrv\Mailer\Contract\Message::RECIPIENT_BCC);
128+
$message->removeRecipients(Ddrv\Mailer\Message::RECIPIENT_TO);
129+
$message->removeRecipients(Ddrv\Mailer\Message::RECIPIENT_CC);
130+
$message->removeRecipients(Ddrv\Mailer\Message::RECIPIENT_BCC);
133131
// Or all
134132
$message->removeRecipients();
135133
136-
$message->addRecipient('tyler@fight.club', 'Tyler Durden', Ddrv\Mailer\Contract\Message::RECIPIENT_TO);
137-
$message->addRecipient('bob@fight.club', 'Robert Paulson', Ddrv\Mailer\Contract\Message::RECIPIENT_CC);
138-
$message->addRecipient('angel@fight.club', 'Angel Face', Ddrv\Mailer\Contract\Message::RECIPIENT_BCC);
134+
$message->addRecipient('tyler@fight.club', 'Tyler Durden', Ddrv\Mailer\Message::RECIPIENT_TO);
135+
$message->addRecipient('bob@fight.club', 'Robert Paulson', Ddrv\Mailer\Message::RECIPIENT_CC);
136+
$message->addRecipient('angel@fight.club', 'Angel Face', Ddrv\Mailer\Message::RECIPIENT_BCC);
139137
140138
141139

‎composer.json‎

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,7 @@
2525
"autoload": {
2626
"psr-4": {
2727
"Ddrv\\Mailer\\": "src/"
28-
},
29-
"files": [
30-
"fn.php"
31-
]
28+
}
3229
},
3330
"autoload-dev": {
3431
"psr-4": {

‎fn.php‎

Lines changed: 0 additions & 192 deletions
This file was deleted.

‎src/Contract/Message.php‎

Lines changed: 5 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -2,36 +2,11 @@
22

33
namespace Ddrv\Mailer\Contract;
44

5-
use Ddrv\Mailer\Exception\InvalidEmailException;
65
use Serializable;
76

87
interface Message extends Serializable
98
{
109

11-
const RECIPIENT_TO = 'to';
12-
const RECIPIENT_CC = 'cc';
13-
const RECIPIENT_BCC = 'bcc';
14-
15-
/**
16-
* @param string $email Recipient email.
17-
* @param string|null $name Recipient name.
18-
* @param string $type Recipient type. May be 'to', 'cc' or 'bcc'. Default 'to'.
19-
* @return self
20-
* @throws InvalidEmailException
21-
*/
22-
public function addRecipient($email, $name = null, $type = self::RECIPIENT_TO);
23-
24-
/**
25-
* @param string $email Recipient email.
26-
* @return string|null Recipient name or null.
27-
*/
28-
public function getRecipientName($email);
29-
30-
/**
31-
* @param string $type Recipient type. May be 'to', 'cc', 'bcc' or null. Default null.
32-
* @return self
33-
*/
34-
public function removeRecipients($type = null);
3510

3611
/**
3712
* @param string $email Sender email.
@@ -45,11 +20,6 @@ public function setSender($email, $name = null);
4520
*/
4621
public function getRecipients();
4722

48-
/**
49-
* @return string|null Mail subject.
50-
*/
51-
public function getSubject();
52-
5323
/**
5424
* @return string Rew string as email headers
5525
*/
@@ -59,4 +29,9 @@ public function getHeadersRaw();
5929
* @return string Raw string of email body
6030
*/
6131
public function getBodyRaw();
32+
33+
/**
34+
* @return Message[]
35+
*/
36+
public function getPersonalMessages();
6237
}

‎src/Contract/Transport.php‎

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
namespace Ddrv\Mailer\Contract;
44

5-
use Ddrv\Mailer\Exception\RecipientsListEmptyException;
65
use Ddrv\Mailer\Exception\TransportException;
76

87
interface Transport
@@ -11,7 +10,6 @@ interface Transport
1110
/**
1211
* @param Message $message
1312
* @return bool
14-
* @throws RecipientsListEmptyException
1513
* @throws TransportException
1614
*/
1715
public function send(Message $message);

‎src/Mailer.php‎

Lines changed: 8 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
use Ddrv\Mailer\Contract\Transport;
77
use Ddrv\Mailer\Exception\RecipientsListEmptyException;
88
use Ddrv\Mailer\Exception\TransportException;
9-
use Exception;
109

1110
final class Mailer
1211
{
@@ -46,6 +45,7 @@ public function __construct(Transport $transport, $senderEmail = null, $senderNa
4645
* @param Message $message
4746
* @return bool
4847
* @throws RecipientsListEmptyException
48+
* @throws TransportException
4949
*/
5050
public function send(Message $message)
5151
{
@@ -67,7 +67,6 @@ public function personal(Message $message)
6767
* @param bool $personal
6868
* @return int
6969
* @throws RecipientsListEmptyException
70-
* @throws TransportException
7170
*/
7271
private function sendMail(Message $message, $personal = false)
7372
{
@@ -77,26 +76,20 @@ private function sendMail(Message $message, $personal = false)
7776
if ($this->senderEmail) {
7877
$message->setSender($this->senderEmail, $this->senderName);
7978
}
80-
$messages = array();
8179
if ($personal) {
82-
$recipients = $message->getRecipients();
83-
foreach ($recipients as $recipient) {
84-
$name = $message->getRecipientName($recipient);
85-
$new = clone $message;
86-
$messages[] = $new->removeRecipients()->addRecipient($recipient, $name);
87-
}
80+
$messages = $message->getPersonalMessages();
8881
} else {
89-
$messages[] = $message;
82+
$messages = array($message);
9083
}
9184
$result = 0;
9285
foreach ($messages as $msg) {
9386
try {
94-
$ok = $this->transport->send($msg);
95-
} catch (RecipientsListEmptyException $e) {
96-
$ok = false;
97-
}
98-
if ($ok) {
87+
$this->transport->send($msg);
9988
$result++;
89+
} catch (TransportException $exception) {
90+
if (!$personal) {
91+
throw $exception;
92+
}
10093
}
10194
}
10295
return $result;

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /