Skip to content

Commit 9211e38

Browse files
mzkdg
authored andcommitted
Mail: check if the function mail() exists [Closes #52]
1 parent 2cf2266 commit 9211e38

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

src/Mail/SendmailMailer.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@ class SendmailMailer implements IMailer
2828
*/
2929
public function send(Message $mail)
3030
{
31+
if (!function_exists('mail')) {
32+
throw new SendException('Unable to send email: mail() has been disabled.');
33+
}
3134
$tmp = clone $mail;
3235
$tmp->setHeader('Subject', null);
3336
$tmp->setHeader('To', null);

tests/Mail/SendmailMailer.phpt

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<?php
2+
3+
/**
4+
* @phpIni disable_functions=mail
5+
*/
6+
7+
use Nette\Mail\Message;
8+
use Tester\Assert;
9+
10+
require __DIR__ . '/../bootstrap.php';
11+
12+
13+
Assert::exception(function () {
14+
$sendmailMailer = new Nette\Mail\SendmailMailer;
15+
$message = new Message();
16+
$sendmailMailer->send($message);
17+
}, Nette\Mail\SendException::class, 'Unable to send email: mail() has been disabled.');

0 commit comments

Comments
 (0)