First you need to send email with mail() function with the use of additional headers. You point the return email address to a mailbox where you will gather the bounced emails. The below code is an example how to achieve that.
Than you just check the inbox for bounced error emails. The below example code will connect to an imap inbox, fetch and print out all the emails it finds there. You can easily customise it to your needs.
/* connect to server */
$hostname = '{example.com:143}INBOX';
$username = '[email protected]';
$password = 'password';
/* try to connect */
$inbox = imap_open($hostname,$username,$password) or die('Cannot connect to mailbox: ' . imap_last_error());
/* grab emails */
$emails = imap_search($inbox,'ALL');
/* if emails are returned, cycle through each... */
if($emails) {
/* begin output var */
$output = '';
/* put the newest emails on top */
rsort($emails);
/* for every email... */
foreach($emails as $email_number) {
/* get information specific to this email */
$overview = imap_fetch_overview($inbox,$email_number,0);
$message = imap_fetchbody($inbox,$email_number,1.2);
/* output the email header information */
$output.= '<div '.($overview[0]->seen ? 'read' : 'unread').'">';
$output.= '<span>'.$overview[0]->subject.'</span> ';
$output.= '<span>'.$overview[0]->from.'</span>';
$output.= '<span>'.$overview[0]->date.'</span>';
$output.= '</div>';
/* output the email body */
$output.= '<div class="body">'.$message.'</div>';
}
echo $output;
}
/* close the connection */
imap_close($inbox);
First you need to send email with mail() function with the use of additional headers. You point the return email address to a mailbox where you will gather the bounced emails. The below code is an example how to achieve that.
SOURCE
Than you just check the inbox for bounced error emails. The below example code will connect to an imap inbox, fetch and print out all the emails it finds there. You can easily customise it to your needs.
SOURCE