質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

メール

メールは、コンピュータネットワークを利用し、 情報等を交換する手段のことです。

Q&A

解決済

1回答

947閲覧

QdmailReceiverの本文取得について

1fj2tk3nsb

総合スコア14

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

メール

メールは、コンピュータネットワークを利用し、 情報等を交換する手段のことです。

0グッド

0クリップ

投稿2018/04/05 11:03

実現したい内容

http://hal456.net/qdmail_rec/
こちらのサイトのQdmailReceiverを使用し、メールサーバー上のメール本文を取得したいと考えております。

発生している問題・エラーメッセージ

メールサーバーにメールが10件あったとして、10件分のカウントは取れるのですが、 本文を参照しようとソースコードに追記をしても本文が取得できません。 ($receiver->bodyAutoSelect() で結果を返すとbool(false)となります。)

該当のソースコード

PHP

1//インクルード 2require_once('qdmail_receiver.php'); 3 4//受信側パラメータ設定 5$server = array( 6 'protocol'=>'pop3', 7 'host'=>'ホストを指定', 8 'user'=>'ユーザーを指定', 9 'pass'=>'パスワードを指定', 10); 11 12//インスタンス生成 13$receiver = QdmailReceiver::start('pop', $server, 'SJIS'); 14 15for($i = 1 ; $i <= $receiver->count() ; $i++){ 16 17 //本文取得 18 $body = $receiver->bodyAutoSelect(); 19 $mail_contents .= $body; 20 21 //カーソル移動 22 $receiver->next(); 23} 24 25$receiver->done(); 26 27//取得メール本文の表示 28var_dump($body);

試したこと

//本文取得
$body = $receiver->bodyAutoSelect();
の記述の後で即$bodyの中身を出力しましたが、bool(false)と表示されてしまいます。
(予想ではここに1つめのメールの内容が表示されるものだと思ってます・・・。)

補足情報(FW/ツールのバージョンなど)

諸事情がありPHPは5.2系です。
メールのcontents?の種類により取得できないメールもあるのでしょうか・・・。

QdmailReceiverに関してかなり昔の物のようですが、ご存知の方、あるいは、代替ツールをご存知がいらっしゃいましたら、ご教示の程何卒宜しくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

オープンソースですから直接ソースを覗いてデバッグなさるのがよろしいかと。
私もQdmailReceiverを使用していますが、そうしてます。

投稿2018/04/05 11:43

tekka

総合スコア514

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

1fj2tk3nsb

2018/04/05 11:52

ご返信ありがとうございます。 やっぱりデバッグしていくかなさそうですね。 __LINE__ が本文の定数のような気がしてきましたので、__LINE__を追って生きたいと思います。。。 ありがとうございます。
1fj2tk3nsb

2018/04/06 01:28

追記になりますが、本文取得ができるメールとできないメールとがありました。 できないメールに関しては現在調査中ですが、 できるメールは日本語以外は取得できました・・・。 日本語は文字化けします・・・。
tekka

2018/04/06 08:25

文字コード周りでしょうか。 手元のソースでは mb_internal_encoding('EUC-JP'); $receiver->charset( 'UTF-8' ); と設定していました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問