現在、CSVからインポートされたデータの配列を処理するプロジェクトに取り組んでいます。特定の行のデータが処理されると、その行に指定された電子メールアドレスに電子メールが送信されます。PHP経由でバウンスされた電子メールアドレス
私のクライアントは、csvに不正な電子メールアドレスが入力されたために電子メールがバウンスするかどうかを知る必要があります。
私は現在、PHP
と私たちがホストしているSMTP
リレーを使用してメールを送信しています。私が今までに働いていた唯一の方法は、件名Undelivered Mail Returned to Sender
を含むメールの送信メールアドレスをスキャンすることです。
これは完全に動作しており、私はバウンスしたすべてのメールのリストを取得しています。私の問題は、間違って入力された電子メールアドレスを取得する必要があるということです。下のスクリーンショットが表示された場合、スクリプトが電子メールアドレスを含むHTML要素/ノードを生成することがわかります。
私の質問は、私がつかむためにどのように/この要素を呼んでいるのですか?
私はprint_r
電子メールオブジェクトを送信しようとしましたが、残念ながら必要なメールアドレスの配列インデックスはありません。
私はここまで得ているかを確認するには、以下の私のコードを参照してください。過去の上に優れたヘルプとサポートのための
<?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);
}
}
感謝。
ルイス
は、あなたが任意のコード例がありますか?アドレスはどこかにある必要があります。 – Kyrre
電子メールの取得方法に関するコードが追加されました。電子メールアドレスが指定されている唯一の場所は、以前に参照したhtmlノードです。ありがとう –
私は 'imap_search()'を一度も使ったことはありませんが、http://php.net/manual/en/function.imap-searchに従って 'SUBJECT'と' ON'キーワードを使用しています。 phpには、 'TO'キーワードがあります。たぶんクエリでいくつかの魔法をやることができます。申し訳ありませんが、私は嫌うと助けていないが、 '$ emails'には何が入っていますか? – Kyrre