Ich arbeite derzeit an einem Projekt, das eine Reihe von Daten verarbeitet, die von einem CSV importiert wird. Sobald die Daten für diese bestimmte Zeile verarbeitet wurden, wird eine E-Mail an die für diese Zeile angegebene E-Mail-Adresse gesendet.Capture Bounce E-Mail-Adressen über PHP
Mein Client hat eine Anforderung, dass sie wissen müssen, ob eine E-Mail aufgrund einer falschen E-Mail-Adresse, die in den CSV eingegeben wurde, abprallt.
sende ich zur Zeit die E-Mails von PHP
verwenden und einen SMTP
Relais, das Host wir, Der einzige Weg, die ich gefunden habe bisher zu arbeiten, ist die Senden E-Mail Adresse für die E-Mails zu scannen, die den Gegenstand Undelivered Mail Returned to Sender
enthalten.
Das funktioniert perfekt und ich bekomme eine Liste aller E-Mails, die zurückgeschickt haben. Mein Problem ist, dass ich die E-Mail-Adresse erhalten muss, die falsch eingegeben wurde. Wenn Sie den folgenden Screenshot sehen, können Sie sehen, dass das Skript ein HTML-Element/Knoten generiert, der die E-Mail-Adresse enthält.
Meine Frage ist, Wie kann ich greifen/dieses Element nennen?
Ich habe versucht print_r
in der E-Mail-Objekt, leider gibt es keine Array-Index mit der E-Mail-Adresse, die ich benötige.
Bitte siehe meinen Code unten, um zu sehen, wie ich so weit gekommen bin:
<?php
$date = date('y-m-d');
$hostname = '';
$username = '';
$password = '';
$inbox = imap_open($hostname,$username,$password) or die('Cannot
connect to mailbox: ' . imap_last_error());
$emails = imap_search($inbox,'SUBJECT "Undelivered Mail Returned to Sender" ON "'.$date.'"');
if($emails){
rsort($emails);
foreach($emails as $email){
$overview = imap_fetch_overview($inbox,$email,0);
$message = imap_body($inbox, $email);
print_r($overview);
print_r($message);
echo '<br>';
print_r($email);
}
}
Vielen Dank für Ihre ausgezeichnete Hilfe und Unterstützung in der Vergangenheit.
Lewis
Haben Sie Codebeispiele haben? Die Adresse muss irgendwo da sein. – Kyrre
Hinzugefügt den Code, wie ich die E-Mails ergreife, Der einzige Ort, an dem die E-Mail-Adresse angegeben ist, ist in dem HTML-Knoten, auf den ich zuvor hingewiesen habe. Danke –
Ich habe 'imap_search() '' nie benutzt, aber ich sehe, dass Sie die 'SUBJECT' und' ON' Schlüsselworte benutzen .. entsprechend http://php.net/manual/en/function.imap-search. php, gibt es ein TO-Schlüsselwort. Vielleicht kannst du mit der Abfrage etwas Magie machen, vielleicht ein Wildcarding? Tut mir leid, wenn ich belästige und nicht helfe, aber was enthält '$ emails'? – Kyrre