mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-09-08 17:07:03 +03:00
Throw more errors when using PHP mail()
This commit is contained in:
parent
35db1f4eb8
commit
7213395118
1 changed files with 30 additions and 30 deletions
|
|
@ -777,40 +777,40 @@ trait Messages
|
||||||
$oAccount->SmtpConnectAndLogin($this->Plugins(), $oSmtpClient);
|
$oAccount->SmtpConnectAndLogin($this->Plugins(), $oSmtpClient);
|
||||||
|
|
||||||
if ($oSmtpClient->Settings->usePhpMail) {
|
if ($oSmtpClient->Settings->usePhpMail) {
|
||||||
if (\MailSo\Base\Utils::FunctionCallable('mail')) {
|
if (!$sFrom || !\MailSo\Base\Utils::FunctionCallable('mail')) {
|
||||||
$oToCollection = $oMessage->GetTo();
|
throw new ClientException(Notifications::CantSendMessage);
|
||||||
if ($oToCollection && $oFrom) {
|
}
|
||||||
$sRawBody = \stream_get_contents($rMessageStream);
|
$oToCollection = $oMessage->GetTo();
|
||||||
if (!empty($sRawBody)) {
|
if (!$oToCollection) {
|
||||||
$sMailTo = \trim($oToCollection->ToString(true));
|
throw new ClientException(Notifications::CantSendMessage);
|
||||||
$sMailSubject = \trim($oMessage->GetSubject());
|
}
|
||||||
$sMailSubject = \strlen($sMailSubject) ? \MailSo\Base\Utils::EncodeHeaderValue($sMailSubject) : '';
|
$sRawBody = \stream_get_contents($rMessageStream);
|
||||||
|
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) : '';
|
||||||
|
|
||||||
$sMailHeaders = $sMailBody = '';
|
$sMailHeaders = $sMailBody = '';
|
||||||
list($sMailHeaders, $sMailBody) = \explode("\r\n\r\n", $sRawBody, 2);
|
list($sMailHeaders, $sMailBody) = \explode("\r\n\r\n", $sRawBody, 2);
|
||||||
unset($sRawBody);
|
unset($sRawBody);
|
||||||
|
|
||||||
if ($this->Config()->Get('labs', 'mail_func_clear_headers', true)) {
|
if ($this->Config()->Get('labs', 'mail_func_clear_headers', true)) {
|
||||||
$sMailHeaders = \MailSo\Base\Utils::RemoveHeaderFromHeaders($sMailHeaders, array(
|
$sMailHeaders = \MailSo\Base\Utils::RemoveHeaderFromHeaders($sMailHeaders, array(
|
||||||
MimeEnumHeader::TO_,
|
MimeEnumHeader::TO_,
|
||||||
MimeEnumHeader::SUBJECT
|
MimeEnumHeader::SUBJECT
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->Logger()->WriteDump(array(
|
$this->Logger()->WriteDump(array(
|
||||||
$sMailTo, $sMailSubject, $sMailBody, $sMailHeaders
|
$sMailTo, $sMailSubject, $sMailBody, $sMailHeaders
|
||||||
), \LOG_DEBUG);
|
), \LOG_DEBUG);
|
||||||
|
|
||||||
$bR = $this->Config()->Get('labs', 'mail_func_additional_parameters', false) ?
|
$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);
|
\mail($sMailTo, $sMailSubject, $sMailBody, $sMailHeaders);
|
||||||
|
if (!$bR) {
|
||||||
if (!$bR) {
|
|
||||||
throw new ClientException(Notifications::CantSendMessage);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
throw new ClientException(Notifications::CantSendMessage);
|
throw new ClientException(Notifications::CantSendMessage);
|
||||||
}
|
}
|
||||||
} else if ($oSmtpClient->IsConnected()) {
|
} else if ($oSmtpClient->IsConnected()) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue