PEARの最近のブログ記事

メール一斉配信をしたときに届かなかったエラーメールだけを
受信できないかと思い作ってみました。

PEARのNet_POP3を使うとメールサーバーに
簡単にアクセスできるのでまずはそちらでメールの一覧を受信。

配信されなかったメールヘッダーの[X-Failed-Recipients]には
メールアドレスが入っているのでそれを取り出す。

後は日付順に並べれば配信エラーの一覧表ができる。

deleteMsg()メソッドを使うとメールの削除もできるので
古いメールはこれで自動的に削除していくといいかもしれない。


説明だけだと簡単なのだが、なかなかうまくいかずこれは意外と難問だった。

参考にしたサイトはこちら
PEAR::Net_POP3を使ってPOP3サーバにアクセスしよう - PHP TIPS:ITpro

<?php
require_once('Net/POP3.php');

$account = array(
  'host' => 'ホスト名',
  'port' => '110',
  'username' => 'ユーザ名',
  'password' => 'パスワード',
);
$pop3 =& new Net_POP3();
$pop3->connect($account['host'], $account['port']);
$pop3->login($account['username'], $account['password']);
   
    $mail_list = $pop3->getListing();
   
    $i = 0;
    foreach($mail_list as $key => $val) {
              
        $header_list = $pop3->getParsedHeaders($val["msg_id"]);
        $errdate = $header_list["Date"];
        $errmail = $header_list["X-Failed-Recipients"];

        if($errmail != "") {
            $errdata[$i]["errdate"] = $errdate;
            $errdata[$i]["errmail"] = $errmail;
            $i ++;
        }//end if
    }//end foreach
   
    $pop3->disconnect();
   
    $smarty->assign("errdata", $errdata);       
    $smarty->display("index.html");
?>

携帯キャリア振り分け

| コメント(0)
携帯サイトを製作する際にもっとも考えるところは、携帯キャリアごとに
違う仕様をどう対応するのかということ。

そこで便利なツールが、Net_UserAgent_Mobile
PEARサイトからダウンロードできる。
PEAR :: Package :: Net_UserAgent_Mobile

これを使えば、キャリアはもちろんのこと携帯の機種やブラウザまで判別できる。
(サーバーにインストールする場合には、各ファイルのインクルードパスを
環境に応じて変更する必要がある。)

あとは、キャリア毎に用意したURLに振り分けるか読み込むCSSを変えるとよい。
今回製作した携帯サイトでは、絵文字を使っているためあらかじめ用意した
URLに振り分けることにした。
ドコモ・au・ソフトバンク以外(ウィルコムなど)は、基本がフルブラウザなので
PCと同様の扱いでPC用サイトに誘導するようにしてみました。

<?php
//PEAR::Net_UserAgent_Mobile
require_once('Mobile.php');

$retval = mobile_useragent_carrier();
$path = $retval["path"];

if ($path == "i" || $path == "ez" || $path == "s") {
    //起動ファイル
    header("location: $path/index.html");
} else {
    //DoCoMo, au, SoftBank以外(PCなど)
    header("location: http://www.xxxxx.com/");
}//end if

//アクセス端末のキャリア名/機種名/タイプ名を判別する
function mobile_useragent_carrier() {
   
    //Net_UserAgent_Mobileをインスタンス化する
    $agent = Net_UserAgent_Mobile::singleton();
   
    //キャリアをチェックする
    if ($agent->isDoCoMo()) {
        //DoCoMo
        $carrier = 'docomo';
        //フォルダパス
        $path = "i";
       
    } else if ($agent->isEZweb()) {
        //au
        $carrier = 'au';
        //フォルダパス
        $path = "ez";
           
    } else if ($agent->isSoftBank()) {
        //SoftBank / Vodafone / J-PHONE
        $carrier = 'softbank';
        //フォルダパス
        $path = "s";
       
    } else {
        //携帯以外の場合(ウィルコム・イーモバイルもPC用サイトを表示)
        //フォルダパス
        $path = "pc";   
    }//end if   
   
    //返り値を準備
    $output = array(carrier=>$carrier, path=>$path);
   
    return $output;
   
}//end function

?>


ウェブページ

★過去に製作したウェブサイト(一部紹介)
イビキノン
いびきでよく眠れない方のサプリ
日本トレーラーハウス協会
トレーラーハウスの協会(JTHA)
トレーラーハウスデベロップメント
トレーラーハウスの製造・販売 シュミレーションゴルフのレンタル スクリーンゴルフのレンタル
健楽ショップ 【ボイスリッチEX】
声が出にくい症状の方に朗報
早稲田大学 スキー部
2007年 インカレ総合優勝!
NPO体験学習支援センター
ブナの植林100年計画実行中
AJC油汚染研究所
油ゲル化剤オイルフェンスの販売
ジャズシンガー 奥土居美可
NYで絶賛されたジャズボーカル