Skip to content

Commit 866eb8a

Browse files
authored
Merge pull request #20 from mirko-bukilic/master
Replace zend with laminas packages
2 parents 8c5d400 + 6feef20 commit 866eb8a

4 files changed

Lines changed: 64 additions & 66 deletions

File tree

composer.json

Lines changed: 34 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,38 @@
11
{
2-
"name": "g4/mailer",
3-
"description": "mailer php library with multiple mail providers (smtp, amazon_ses)",
4-
"keywords": [
5-
"mailer",
6-
"mail"
7-
],
8-
"license": "MIT",
9-
"authors": [
10-
{
11-
"name": "Drasko Gomboc",
12-
"email": "drasko.gomboc@gmail.com"
2+
"name": "g4/mailer",
3+
"description": "mailer php library with multiple mail providers (smtp, amazon_ses)",
4+
"keywords": [
5+
"mailer",
6+
"mail"
7+
],
8+
"license": "MIT",
9+
"authors": [
10+
{
11+
"name": "Drasko Gomboc",
12+
"email": "drasko.gomboc@gmail.com"
13+
},
14+
{
15+
"name": "Dejan Samardzija",
16+
"email": "samardzijadejan@gmail.com"
17+
},
18+
{
19+
"name": "Ivan Krickovic",
20+
"email": "ivan.krickovic@gmail.com"
21+
}
22+
],
23+
"autoload": {
24+
"psr-4": {
25+
"G4\\Mailer\\": "src/"
26+
}
1327
},
14-
{
15-
"name": "Dejan Samardzija",
16-
"email": "samardzijadejan@gmail.com"
28+
"require-dev": {
29+
"phpunit/phpunit": "3.7.*"
1730
},
18-
{
19-
"name": "Ivan Krickovic",
20-
"email": "ivan.krickovic@gmail.com"
31+
"require": {
32+
"php": "^7.3",
33+
"ext-json": "*",
34+
"ext-curl": "*",
35+
"laminas/laminas-mail": "2.10.*",
36+
"laminas/laminas-servicemanager": "2.7.*"
2137
}
22-
],
23-
"autoload": {
24-
"psr-4": {"G4\\Mailer\\": "src/"}
25-
},
26-
"require-dev": {
27-
"phpunit/phpunit": "3.7.*"
28-
},
29-
"require": {
30-
"php": "^7.3",
31-
"ext-json": "*",
32-
"ext-curl": "*",
33-
"zendframework/zend-mail": "2.10.*",
34-
"zendframework/zend-servicemanager": "2.7.*"
35-
}
36-
}
38+
}

src/Message.php

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

33
namespace G4\Mailer;
44

5-
65
class Message
76
{
87
/**
@@ -19,7 +18,7 @@ class Message
1918
* @var array
2019
*/
2120
private $bcc;
22-
21+
2322
/**
2423
* @var array
2524
*/
@@ -72,15 +71,15 @@ public function getBcc()
7271
{
7372
return $this->bcc;
7473
}
75-
74+
7675
/**
7776
* @return array
7877
*/
7978
public function getHeaders()
8079
{
8180
return $this->headers;
8281
}
83-
82+
8483
/**
8584
* @return bool
8685
*/
@@ -159,7 +158,7 @@ public function addBcc($recipient)
159158
$this->bcc[] = $recipient;
160159
return $this;
161160
}
162-
161+
163162
/**
164163
* @param $header
165164
* @return $this
@@ -169,7 +168,7 @@ public function addHeader($header)
169168
$this->headers[] = $header;
170169
return $this;
171170
}
172-
171+
173172
/**
174173
* @param array $headers
175174
* @return $this
@@ -237,4 +236,4 @@ public function getListUnsubscribe()
237236
}, $this->unsubscribeOptions);
238237
return implode(', ', $links);
239238
}
240-
}
239+
}
Lines changed: 15 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -2,34 +2,29 @@
22

33
namespace G4\Mailer\Message;
44

5-
6-
class ZendMessageFacade
5+
class LaminasMessageFacade
76
{
87
const ENCODING = 'utf-8';
98
const TYPE_HTML = 'text/html';
109
const TYPE_TEXT = 'text/plain';
1110

12-
/**
13-
* @param \G4\Mailer\Message $message
14-
* @return \Zend\Mail\Message
15-
*/
16-
public static function convert(\G4\Mailer\Message $message)
11+
public static function convert(\G4\Mailer\Message $message): \Laminas\Mail\Message
1712
{
18-
$htmlPart = new \Zend\Mime\Part($message->getHtmlBody());
13+
$htmlPart = new \Laminas\Mime\Part($message->getHtmlBody());
1914
$htmlPart->charset = self::ENCODING;
2015
$htmlPart->type = self::TYPE_HTML;
21-
$htmlPart->encoding = \Zend\Mime\Mime::ENCODING_QUOTEDPRINTABLE;
16+
$htmlPart->encoding = \Laminas\Mime\Mime::ENCODING_QUOTEDPRINTABLE;
2217

23-
$textPart = new \Zend\Mime\Part($message->getTextBody());
18+
$textPart = new \Laminas\Mime\Part($message->getTextBody());
2419
$textPart->charset = self::ENCODING;
2520
$textPart->type = self::TYPE_TEXT;
26-
$textPart->encoding = \Zend\Mime\Mime::ENCODING_QUOTEDPRINTABLE;
21+
$textPart->encoding = \Laminas\Mime\Mime::ENCODING_QUOTEDPRINTABLE;
2722

28-
$body = new \Zend\Mime\Message();
23+
$body = new \Laminas\Mime\Message();
2924
$body->setParts([$textPart, $htmlPart]);
3025

31-
$zendMessage = new \Zend\Mail\Message();
32-
$zendMessage
26+
$laminasMessage = new \Laminas\Mail\Message();
27+
$laminasMessage
3328
->addTo($message->getTo())
3429
->addFrom(
3530
self::getEmailPart($message->getFrom()),
@@ -45,22 +40,22 @@ public static function convert(\G4\Mailer\Message $message)
4540
->getHeaders()->get('content-type')->setType('multipart/alternative');
4641

4742
if (count($message->getCc())) {
48-
$zendMessage->addCc($message->getCc());
43+
$laminasMessage->addCc($message->getCc());
4944
}
5045
if (count($message->getBcc())) {
51-
$zendMessage->addBcc($message->getBcc());
46+
$laminasMessage->addBcc($message->getBcc());
5247
}
5348
if ($message->getReplyTo()) {
54-
$zendMessage->setReplyTo(
49+
$laminasMessage->setReplyTo(
5550
self::getEmailPart($message->getReplyTo()),
5651
self::getNamePart($message->getReplyTo())
5752
);
5853
}
5954
if ($message->hasHeaders()) {
60-
$zendMessage->getHeaders()->addHeaders($message->getHeaders());
55+
$laminasMessage->getHeaders()->addHeaders($message->getHeaders());
6156
}
6257

63-
return $zendMessage;
58+
return $laminasMessage;
6459
}
6560

6661
private static function getEmailPart($from)
@@ -80,4 +75,4 @@ private static function getNamePart($from)
8075
}
8176
return null;
8277
}
83-
}
78+
}

src/Transport/Smtp/Smtp.php

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,10 @@
33
namespace G4\Mailer\Transport\Smtp;
44

55
use G4\Mailer\Exception\SmtpEmailNotSentException;
6-
use G4\Mailer\Message\ZendMessageFacade;
6+
use G4\Mailer\Message;
7+
use G4\Mailer\Message\LaminasMessageFacade;
78
use G4\Mailer\Transport\TransportInterface;
9+
use Laminas\Mail\Transport\SmtpOptions;
810

911
class Smtp implements TransportInterface
1012
{
@@ -15,16 +17,16 @@ public function __construct($options)
1517
$this->setOptions($options);
1618
}
1719

18-
public function send(\G4\Mailer\Message $message)
20+
public function send(Message $message)
1921
{
20-
$options = new \Zend\Mail\Transport\SmtpOptions($this->options);
22+
$options = new SmtpOptions($this->options);
2123

2224
// todo adapter will instantiate transport other than smtp
23-
$transport = new \Zend\Mail\Transport\Smtp($options);
25+
$transport = new \Laminas\Mail\Transport\Smtp($options);
2426

2527
try {
26-
$transport->send(ZendMessageFacade::convert($message));
27-
} catch (\Zend\Mail\Exception\RuntimeException $e) {
28+
$transport->send(LaminasMessageFacade::convert($message));
29+
} catch (\Laminas\Mail\Exception\RuntimeException $e) {
2830
throw new SmtpEmailNotSentException($e->getMessage(), $e->getCode());
2931
}
3032
}
@@ -53,4 +55,4 @@ private function setOptions($options)
5355
$this->options = $options['params'];
5456
}
5557

56-
}
58+
}

0 commit comments

Comments
 (0)