
お世話になります
下記スクリプトにてメールを受信してDBに格納しようと思っています
DBに格納後、メールサーバからメールを消したいのですが、メールボックスを空にするためにの処理を教えて頂けないでしょうか?
宜しくお願いいたします。
///////////////////////////////////
//PEARのパスを設定
require_once 'Mail/mimeDecode.php';
#-- メールデータの取得
$params['include_bodies'] =true;
$params['decode_bodies'] =true;
$params['decode_headers'] =true;
$params['input'] = file_get_contents("php://stdin"); //標準入力
$params['crlf'] = "\r\n";
$mail_data = Mail_mimeDecode::decode($params);
#-- From
$FromAddress = $mail_data->headers['from'];
$FromAddress = addslashes($FromAddress); //エスケープ処理
$FromAddress = str_replace('"','',$FromAddress);
#-- 署名つきの場合
preg_match("/<.*>/",$FromAddress,$str);
if($str[0]!=""){
$str=substr($str[0],1,strlen($str[0])-2);
$FromAddress=$str;
}
#-- Subject フィールドの取得
$Subject = $mail_data->headers['subject'];
$Subject = mb_convert_encoding($Subject,"UTF-8","JIS");
#-- 本文の取得
switch(strtolower($mail_data->ctype_primary)){
case "text": //テキストメール
$MailBody = $mail_data->body;
$MailBody = mb_convert_encoding($MailBody,"UTF-8","JIS");
break;
case "multipart": //マルチパート(添付ファイル(画像前提)付)
foreach($mail_data->parts as $part){
switch(strtolower($part->ctype_primary)){
case "text":
$MailBody = $part->body;
$MailBody = mb_convert_encoding($MailBody,"UTF-8","JIS");
break;
case "image":
$type = strtolower($part->ctype_secondary);
// jpg,gif,png以外の画像形式は受け付けない
if($type != "jpeg" and $type != "jpg" and $type != "gif" and $type != "png"){
continue;
}
// ファイルを保存
/*
$fp = fopen("/tmp/". time() . $type, "w");
$length = strlen($part->body);
fwrite($fp,$part->body,$length);
fclose($fp);
*/
break;
}
}
break;
default:
$MailBody="";
}
No.2ベストアンサー
- 回答日時:
>メールボックスを空にするためにの処理
メールを送るのはPEAR::Mailですが受け取るのはPEAR::Net_pop3ですね
http://pear.php.net/manual/ja/package.networking …
deleteMsg() で削除ができます
No.1
- 回答日時:
>$params['input'] = file_get_contents("php://stdin"); //標準入力
メールフィルタか何かの設定で、到着したメールをphpスクリプトに引き渡すようになっているのですよね?もしこの部分を活かすならメールフィルタ側で削除するのがスジです。
#現状のままではどうやっても(phpスクリプトからは)削除は出来ません。
どうしても「処理後に削除したい」ということなら、メールフィルタはスクリプト起動だけに利用して(php://stdinは利用しないで)自前でPOP3サーバに繋いでメールを取得してください。最初にUIDL(Unique ID Listing)を取得して各々のIDのメールを取得・処理することになりますが、どうせPOP3サーバからメールを削除するにはメールID(UniqueID)が必要ですから。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHPからメールを送る@さくらイ...
-
さくらサーバーにて、phpからメ...
-
excel VBAでメールを送る方法に...
-
PHPsendmailにて送信元を変更
-
PHPのif文でその処理を途中で抜...
-
Subversionのリポジトリの削除
-
*.php、*.php3、*.phtmlの違い
-
FTPコマンドでディレクトリごと...
-
Cronで同じ処理を複数同時に実...
-
.phpと.incファイルの違いはな...
-
バッチを用いたフォルダの自動移動
-
ボタンのクリック数を合計保存...
-
visualstudioでc#のdllができない
-
PHPで画像アップロード時にサイ...
-
CakePHPのファイルの所有者の権...
-
error_reporting(0);にも関わら...
-
zip圧縮の種類について
-
「@$変数」の「@の意味は?」
-
ftpでアップロードが出来ない
-
rmdirでフォルダが消せません
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
サーバーによってはmb_send_mai...
-
ローカル環境でのメール送信
-
フォームからメール送信
-
メールを受信で文字化け
-
さくらサーバーにて、phpからメ...
-
日本語メールの送信する関数
-
初心者です。PHPのfunction...
-
phpでメールフォームを作成した...
-
メール送信プログラム
-
mailやmb_send_mail関数で、本...
-
PHPからメールを送る@さくらイ...
-
phpでmail()関数以外のやり方に...
-
php 完了画面の送信メールのコ...
-
mb_send_mail関数が利用出来ない
-
PHPsendmailにて送信元を変更
-
ワードプレス 予約システム
-
PHPでメールを送信するには
-
コマンドプロンプト、VBSでの添...
-
PHPMailerのコードエラーが解決...
-
sendmail.phpとthanks.php
おすすめ情報