1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\Framework\Mail;
use Magento\Framework\Exception\MailException;
use Magento\Framework\Phrase;
use Zend\Mail\Message as ZendMessage;
use Zend\Mail\Transport\Sendmail;
class Transport implements \Magento\Framework\Mail\TransportInterface
{
/**
* @var Sendmail
*/
private $zendTransport;
/**
* @var MessageInterface
*/
private $message;
/**
* @param MessageInterface $message
* @param null|string|array|\Traversable $parameters
*/
public function __construct(MessageInterface $message, $parameters = null)
{
$this->zendTransport = new Sendmail($parameters);
$this->message = $message;
}
/**
* @inheritdoc
*/
public function sendMessage()
{
try {
$this->zendTransport->send(
ZendMessage::fromString($this->message->getRawMessage())
);
} catch (\Exception $e) {
throw new MailException(new Phrase($e->getMessage()), $e);
}
}
/**
* @inheritdoc
*/
public function getMessage()
{
return $this->message;
}
}