· 6 years ago · Jun 25, 2019, 05:38 AM
1class MailSender {
2
3 private $mailer;
4
5 public function __construct(Swift_Mailer $mailer) {
6 $this->mailer = $mailer;
7 }
8
9
10 public function sendMail($target, $subject, $content) {
11 $message = (new Swift_Message($subject))
12 ->setFrom('***@gmail.com')
13 ->setTo($target)
14 ->setBody($content, 'text/html');
15
16 return $this->mailer->send($message);
17 }
18
19}
20
21AppBundleServiceMailSender:
22 arguments:
23 $mailer: '@swiftmailer.mailer'
24
25parameters:
26 mailer_transport: smtp
27 mailer_host: smtp.gmail.com
28 mailer_user: ***@gmail.com
29 mailer_password: ***
30
31public function testSendMail() {
32 // GIVEN
33 $transport = (new Swift_SmtpTransport('smtp.gmail.com', 465, 'ssl'))
34 ->setUsername('***@gmail.com')
35 ->setPassword('***');
36 $swiftMailer = new Swift_Mailer($transport);
37 $mailSender = new MailSender($swiftMailer);
38
39 // WHEN
40 $mailsSent = $mailSender->sendMail('***@t-online.de', 'testMail', 'The Mailsender works!');
41
42 // THEN
43 $this->assertEquals($mailsSent, 1);
44}