Throw more errors when using PHP mail()

This commit is contained in:
the-djmaze 2024-03-27 01:24:12 +01:00
parent 35db1f4eb8
commit 7213395118

View file

@ -777,11 +777,17 @@ trait Messages
$oAccount->SmtpConnectAndLogin($this->Plugins(), $oSmtpClient);
if ($oSmtpClient->Settings->usePhpMail) {
if (\MailSo\Base\Utils::FunctionCallable('mail')) {
if (!$sFrom || !\MailSo\Base\Utils::FunctionCallable('mail')) {
throw new ClientException(Notifications::CantSendMessage);
}
$oToCollection = $oMessage->GetTo();
if ($oToCollection && $oFrom) {
if (!$oToCollection) {
throw new ClientException(Notifications::CantSendMessage);
}
$sRawBody = \stream_get_contents($rMessageStream);
if (!empty($sRawBody)) {
if (empty($sRawBody)) {
throw new ClientException(Notifications::CantSendMessage);
}
$sMailTo = \trim($oToCollection->ToString(true));
$sMailSubject = \trim($oMessage->GetSubject());
$sMailSubject = \strlen($sMailSubject) ? \MailSo\Base\Utils::EncodeHeaderValue($sMailSubject) : '';
@ -802,17 +808,11 @@ trait Messages
), \LOG_DEBUG);
$bR = $this->Config()->Get('labs', 'mail_func_additional_parameters', false) ?
\mail($sMailTo, $sMailSubject, $sMailBody, $sMailHeaders, '-f'.$oFrom->GetEmail()) :
\mail($sMailTo, $sMailSubject, $sMailBody, $sMailHeaders, '-f'.$sFrom) :
\mail($sMailTo, $sMailSubject, $sMailBody, $sMailHeaders);
if (!$bR) {
throw new ClientException(Notifications::CantSendMessage);
}
}
}
} else {
throw new ClientException(Notifications::CantSendMessage);
}
} else if ($oSmtpClient->IsConnected()) {
if ($iMessageStreamSize && $oSmtpClient->maxSize() && $iMessageStreamSize * 1.33 > $oSmtpClient->maxSize()) {
throw new ClientException(Notifications::ClientViewError, 'Message size '. ($iMessageStreamSize * 1.33) . ' bigger then max ' . $oSmtpClient->maxSize());