On 30/05/2022 15.08, Jakub wrote:
> I have this code to sand email:
>
>
> function sendEmail($to, $title, &$text) {
> $from = '
ja...@jakubowo.net';
> $subject = $title;
>
> $w = '<html><head><meta http-equiv="content-type"
> content="text/xhtml; charset=utf-8"></head>
> <body
> style="background-color:#ffffff;color:#000000;margin-top:30px;margin-left:30px;padding:10px;"><hr><br>'
>
> . $text . '<hr><br><p><a href="mailto:'
> . $from . '">' . $from . '</a></p></body></html>';
>
> $he = 'MIME-Version: 1.0' . PHP_EOL . 'Content-type: text/html;
> charset=utf-8 ' . PHP_EOL
> . 'From: admin Search. <' . $from . '>' . PHP_EOL
> . 'Content-Transfer-Encoding: base64' . PHP_EOL;
>
> $w = chunk_split(base64_encode($w));
> imap_mail($to, $subject, $w, $he);
> }
>
>
> how to catch this error
imap_mail will just return true or false, all you can do on the php side
would be
if(imap_mail($to, $subject, $w, $he)) {
echo "Email was received by mail server";
} else {
echo "Failed to send email, check mail server logs";
}
> Warning: imap_mail(): Failed to connect to mailserver at "localhost"
> port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use
> ini_set()
Had this been imap errors, then you had the imap_errors() and
imap_last_error() to use.
Your error is a php configuration error and you should in such case use
ini_get() to see that proper values has been set for smtp and smtp_port.
Also you need to ensure you have the right services up and running.
--
//Aho