No.3ベストアンサー
- 回答日時:
すみません、imap_fetch_overview()とimap_headerinfo()では返り値の仕様が違いますね。
ですから、置き換え可能な関数というわけではありません。imap_headerinfo()ではsequenceではなくメッセージ番号を指定してひとつだけのメール情報を取得するので、次のようにすればメールアドレスが取れるはずです。
$mail1 =imap_headerinfo($_imap,1);
$host=$mail1->from[0]->host;
$mailbox=$mail1->from[0]->mailbox;
引き数をループで回すのでなく、ループの中でimap_headerinfo()をコールするようにします。
No.2
- 回答日時:
imap_overview_info()はヘッダ情報の「概要」を取得する関数なので、ヘッダ情報がすべて返されるわけではありません。
メールアドレスまで解析された形でヘッダ情報を取得したい場合には、imap_headerinfo()を使った方が楽だと思います。imap_headerinfo()を使えば、返り値を$valに入れた場合には次のようにすればアドレスが取得できます。
$val->from[0]->mailbox."@".$val->from[0]->host
imap_fetch_overview()で取得したfromの値をPEARのMail_RFC822::parseAddressList()を使って解析させるという方法もなくはないのですが、それなら最初から解析済みの値を返してくれる関数を使った方がおそらく早いと思います。
ご回答ありがとうございます。以下の方法で試してみました。
$mail1 =imap_headerinfo($_imap,1);
foreach ($mail1 as $val) {
$host=$val->from[0]->host;
$mailbox=$val->from[0]->mailbox;
}
print($mailbox."@".$host);
とprintで確認みたところ、表示できませんでした。
imap_fetch_overviewをheaderinfoに変えただけのため、どこが原因かわかりません。print_r($mail1)で調べたところ、ヘッダー情報は取得できているものの、配列から抜き出せません。なにがまちがえているんでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Outlook(アウトルック) アウトルック2019ですがIMAPでのアカウント設定をPOPに設定変更したいのですが・・・ 1 2022/08/30 18:37
- Visual Basic(VBA) Excel VBA キーワードから列を取得して、さらに空欄行を非表示にする 3 2022/10/21 22:49
- UNIX・Linux メールアドレスにホスト名が入らないようにする設定 2 2022/06/23 21:06
- その他(Microsoft Office) Outlookメール 連絡先の検索について 〈 ご説明 〉 Windows PC の Outlook 1 2022/09/23 14:43
- iPhone(アイフォーン) iPhone/iPadの標準メールアプリでのアカウント新規登録について pop/imap選択 1 2023/06/22 08:00
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- Excel(エクセル) エクセルの関数を教えてください。② 9 2023/05/25 15:28
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
- Excel(エクセル) Excelの数式についての質問 1 2022/10/31 15:50
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
DMMの動画を全件取得したのです...
-
Yahoo! JAPAN IDを新規取得でき...
-
アクセスの度にIPアドレスを変...
-
ローカルのコンピュータ名を取...
-
【C#】FindWindowExの使い方を...
-
先日NISAの投資信託で、初めて...
-
IEを使わないでhtmlテキストを...
-
「取得先」という表現について
-
積立投資してます。現在平均取...
-
一つのアドで各サイトに自動転送
-
PHP の cURL で、htmlを画像へ...
-
IPアドレス変更方法
-
【VBA】EXCELブックを開かずに...
-
PHPを使って、別サイトの一部を...
-
IPアドレスとMACアドレスを取得...
-
男性の育児休暇取得について
-
C#で特定LANアダプタの状態を取...
-
複数のMicrosoftアカウントを取...
-
検索サイト「goo」で、医療法人...
-
[C#]htmlを取得できないページ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「取得先」という表現について
-
IEを使わないでhtmlテキストを...
-
Yahoo! JAPAN IDを新規取得でき...
-
自動車教習所について 質問 普...
-
アクセスの度にIPアドレスを変...
-
format関数について
-
Excel VBA:特定の文字列以降(...
-
ローカルのコンピュータ名を取...
-
不正競争防止法に該当するので...
-
ps3で久しぶりにCDの音楽情報取...
-
【VBA】EXCELブックを開かずに...
-
PHP の cURL で、htmlを画像へ...
-
VBS「開いているページ」のURL...
-
VBAでPDFファイルの文書のプロ...
-
ミュージックのアートワークを...
-
EXCEL、マクロ-改ページ行番号...
-
各クライアントマシンのログイ...
-
VB or VBScriptでPCの製造番号...
-
IPアドレスとMACアドレスを取得...
-
【C#】FindWindowExの使い方を...
おすすめ情報