
タイトルの通りです。
レンタルサーバを借りてEメールを使用しています。
営業という立場上外回りが多く、
PCメールに届いたメールを即時確認したいので、
自動転送機能を使っています。
.mailfilterの「cc "!xxxxx@ezweb.ne.jp"」
添付ファイルが届くとそれ自体も携帯へ転送してしまい、
送信者へエラーメッセージが届いてしまいます。
これを避けたいので、
添付ファイルがある場合は、ファイル自体は転送せず、
「添付ファイルあり」とのメッセージだけが
本文の後ろに記述されるようなプログラムはありますか?
調べてみましたが、phpしか触ったことがない私には、
perlなどawkなどが出てきてよくわかりませんでした。
もともと「ASJ」というレンタルサーバを借りていました。
そこにはワープメールなる、希望に近い機能があったようですが、
先日資金的な面で「さくらインターネット」へ変更しました。
そちらには転送メールの機能しかなく、困っている次第です。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
この回答への補足
一日使ってなんとか自分できました。
【1】go-pearで「mail」「mimeDecode」をインストール====================================
参:http://masha.maakikaku.jp/2008/05/gopearpear.php
【2】各メールディレクトリに「.mailfilter」ファイルを作成==============================
cc "| /home/サーバアカウント/MailBox/アカウント/info_mail.php"
【3】各メールディレクトリに「info_mail.php」ファイルを作成============================
#!/usr/local/bin/php
<?php
require_once '/home/サーバアカウント/pear/PEAR/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";
$structure = Mail_mimeDecode::decode($params);
$filefig = "";
//送信者のメールアドレスを抽出
$mail = $structure->headers['from'];
$mail = addslashes($mail);
$mail = str_replace('"','',$mail);
//署名付きの場合の処理を追加
preg_match("/<.*>/",$mail,$str);
if($str[0]!=""){
$str=substr($str[0],1,strlen($str[0])-2);
$mail = $str;
}
/*
*「$structure->headers['to']」で送信元のメールアドレスも取得できます。
*/
// 件名を取得
$diary_subject = $structure->headers['subject'];
switch(strtolower($structure->ctype_primary)){
case "text": // シングルパート(テキストのみ)
$diary_body = $structure->body;
break;
case "multipart": // マルチパート(画像付き)
foreach($structure->parts as $part){
switch(strtolower($part->ctype_primary)){
case "text": // テキスト
$diary_body = $part->body;
break;
case "image": // 画像
$filefig = "【※添付ファイルあり】";//添付ファイルのある場合、このフラグが1へ
//画像の拡張子を取得する(小文字に変換
$type = strtolower($part->ctype_secondary);
//JPEGチェック(GIFやPNG形式の画像チェックなども可
if($type != "jpeg" and $type != "jpg"){
continue;
}
//添付内容をファイルに保存
$fp = fopen("/tmp/picture.jpg" . $type,"w" );
$length = strlen( $part->body );
fwrite( $fp, $part->body, $length );
fclose( $fp );
break;
default;
$filefig = "【※添付ファイルあり】";//添付ファイルのある場合、このフラグが1へ
}
}
break;
default:
$diary_body = "";
}
//日本語メール送信
$to = "xxx@ezweb.ne.jp";//★★★
$subject = "転送◆".$diary_subject;
$body = "【PC自動転送MAIL】
".$diary_body."
".$filefig;
$from = $mail;
//ちゃんと日本語メールが送信できます
mb_send_mail($to,$subject,$body,"From:".$from);
?>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
failure notice について
-
プラスメッセージ
-
ヤフーメールに届いた特定のア...
-
Gmailのフィルタで転送後のメー...
-
転送スレバ死ナナイ あなたなら?
-
転送マークを消せますか?
-
携帯に届いたメールをパソコン...
-
メール 転送した際に既読になっ...
-
ヤフーメールを一括転送するには
-
thunderbirdでサブフォルダ内に...
-
Becky!の転送設定について
-
OUTLOOK2010 メールの転送について
-
届いてるのにMAILER-DAEMONが帰...
-
Ccを転送しても大丈夫?
-
転送した時の青い矢印を消す方法
-
X(旧ツイッター)からバスワー...
-
複数アドレスにメール送信した...
-
メールがエラーで戻ってきまし...
-
メール送信エラー。宛先アドレ...
-
@live.jpというメールアドレス...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
failure notice について
-
転送した時の青い矢印を消す方法
-
プラスメッセージ
-
ヤフーメールに届いた特定のア...
-
HTMLメールの転送の仕方について
-
メールの転送禁止
-
Ccを転送しても大丈夫?
-
yahooメール 特定のメールだけ...
-
携帯に届いたメールをパソコン...
-
受信したメールに、「フラグ処...
-
ヤフーメールを一括転送するには
-
ワイモバのメール(@ymobile.ne...
-
携帯に届いたSMSをPCへ自動転送
-
転送マークを消せますか?
-
届いてるのにMAILER-DAEMONが帰...
-
メール 転送した際に既読になっ...
-
Outlookにきたメールをyahooメ...
-
海外からアニメの公式コラボの...
-
thunderbirdでサブフォルダ内に...
-
Thunderbirdの転送について
おすすめ情報