Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

How to cath mail error

1 view
Skip to first unread message

Jakub

unread,
May 30, 2022, 9:08:33 AM5/30/22
to
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

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()

thank for answers

Jakub


J.O. Aho

unread,
May 30, 2022, 9:40:27 AM5/30/22
to
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

K

unread,
Mar 11, 2023, 10:54:35 AM3/11/23
to
Get to watch Jesus videos !

youtu.be/-3nN9-C1yKU

...
..............
.....................................................................
..........................................................................................................
0 new messages