• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

contributte / mail / 4666325933

pending completion
4666325933

push

github

Milan Felix Ć ulc
Tests: cover DevOpsMailer

64 of 87 relevant lines covered (73.56%)

0.74 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

90.0
/src/Mailer/DevOpsMailer.php
1
<?php declare(strict_types = 1);
2

3
namespace Contributte\Mail\Mailer;
4

5
use Nette\Mail\Mailer;
6
use Nette\Mail\Message;
7

8
class DevOpsMailer implements Mailer
9
{
10

11
        private Mailer $mailer;
12

13
        private string $mail;
14

15
        public function __construct(Mailer $mailer, string $mail)
1✔
16
        {
17
                $this->mailer = $mailer;
1✔
18
                $this->mail = $mail;
1✔
19
        }
1✔
20

21
        /**
22
         * Sends email
23
         */
24
        public function send(Message $mail): void
1✔
25
        {
26
                /** @var callable(string): string[] $getHeaders */
27
                $getHeaders = static fn (string $name) => (array) $mail->getHeader($name);
1✔
28

29
                // Set original To, Cc, Bcc
30
                $counter = 0;
1✔
31
                foreach ($getHeaders('To') as $email => $name) {
1✔
32
                        $mail->setHeader('X-Original-To-' . $counter++, sprintf('<%s> %s', $email, $name));
1✔
33
                }
34

35
                $counter = 0;
1✔
36
                foreach ($getHeaders('Cc') as $email => $name) {
1✔
37
                        $mail->setHeader('X-Original-Cc-' . $counter++, sprintf('<%s> %s', $email, $name));
×
38
                }
39

40
                $counter = 0;
1✔
41
                foreach ($getHeaders('Bcc') as $email => $name) {
1✔
42
                        $mail->setHeader('X-Original-Bcc-' . $counter++, sprintf('<%s> %s', $email, $name));
×
43
                }
44

45
                // Override for DevOps
46
                $mail->setHeader('To', [$this->mail => 'DevOps']);
1✔
47
                $mail->setHeader('Cc', null);
1✔
48
                $mail->setHeader('Bcc', null);
1✔
49

50
                // Delegate to original mailer
51
                $this->mailer->send($mail);
1✔
52
        }
1✔
53

54
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc