MessageFactory::createMessageFromEmail()   D
last analyzed

Complexity

Conditions 8
Paths 128

Size

Total Lines 35
Code Lines 24

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 35
c 0
b 0
f 0
rs 4.6666
cc 8
eloc 24
nc 128
nop 1
1
<?php
2
declare(strict_types=1);
3
4
namespace AcMailer\Mail;
5
6
use AcMailer\Model\Email;
7
use Zend\Mail\Message;
8
9
final class MessageFactory
10
{
11
    private function __construct()
12
    {
13
    }
14
15
    public static function createMessageFromEmail(Email $email): Message
16
    {
17
        // Prepare Mail Message
18
        $message = new Message();
19
        $from = $email->getFrom();
20
        if (! empty($from)) {
21
            $message->setFrom($from, $email->getFromName());
22
        }
23
        $replyTo = $email->getReplyTo();
24
        if (! empty($replyTo)) {
25
            $message->setReplyTo($replyTo, $email->getReplyToName());
26
        }
27
        $to = $email->getTo();
28
        if (! empty($to)) {
29
            $message->setTo($to);
30
        }
31
        $cc = $email->getCc();
32
        if (! empty($cc)) {
33
            $message->setCc($cc);
34
        }
35
        $bcc = $email->getBcc();
36
        if (! empty($bcc)) {
37
            $message->setBcc($bcc);
38
        }
39
        $encoding = $email->getEncoding();
40
        if (! empty($encoding)) {
41
            $message->setEncoding($encoding);
42
        }
43
        $subject = $email->getSubject();
44
        if (! empty($subject)) {
45
            $message->setSubject($subject);
46
        }
47
48
        return $message;
49
    }
50
}
51