2011年9月6日 9:37 PM
まず、さくらインターネットサーバーで以下の2点は完了しておいて下さい。
以前僕がブログ内で書いたものです。
- 【PEAR】さくらインターネットサーバーでPEARを使う
- 【空メール】さくらインターネットで、空メールからPHPプログラムを実行する。
- 【PEAR】さくらサーバーで、画像添付メールの画像をプログラムで取り出す。
2番で用意したPHPファイルに記述します。
1番で行ったPEARのインストール場所で記述しています。
文字エンコードは、UTF-8で書いています。
画像を保存したりしたい方は、3番を参照して下さい。
添付画像なしで、送信者アドレスと件名、本文を取得したい方のみの記述です。
多少軽くなるので、画像が必要の無い方はこちらで。
取得したメールアドレスや件名は、データーベースに登録するなり、テキストファイルに保存するなり、メールで送りなりして下さい。
————–ここから—————–
#!/usr/local/bin/php
<?php
//PEARのパスを設定
$path = ‘/home/(ユーザー名)/pear/PEAR/’;
set_include_path(get_include_path() . PATH_SEPARATOR . $path);
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”;
if (!$params[‘input’]) {
// 読み込み失敗
exit();
}
$structure = Mail_mimeDecode::decode($params);
//送信者のメールアドレスを抽出
$mail = $structure->headers[‘from’];
$mail = addslashes($mail);
$mail = str_replace(‘”‘,”,$mail);
$mail = preg_replace(‘/(^.*<|>$)/’, ”, $mail);
// 件名を取得
$subject = $structure->headers[‘subject’];
switch (strtolower($structure->ctype_primary)) {
case “text”:
$body = $structure->body;
break;
default:
$body = “”;
}
?>
————–ここまで—————–
詳細などは、【PEAR】さくらサーバーで、画像添付メールの画像をプログラムで取り出す。を参照して下さいね。
内容は画像保存以外、同じですので。
カテゴリー:PHP, Tips, さくらインターネット :
コメント(0)
2011年9月1日 7:11 PM
さくらサーバーは、PEARのインストール方法が簡単にできるとの事で選んだ部分もあるのだが。
ただ、簡単とはいえ、インストール後に、必要なパッケージもインストールしないといけないので、間違えないようにメモ。
まず、go-pear.txt を保存して下さい。拡張子は.phpに変更して下さい。
さくらサーバーの場合は、FTPで接続し、www/以下にgo-pear.phpをアップロードして下さい。
wwwディレクトリと同じ場所に、「pear」とディレクトリを作っておきます。
※FTPで見ると、go-pear.phpをアップしたディレクトリの一つ上です。
ブラウザで、「http://(ドメイン名)/go-pear.php」にアクセスします。
ページ下の「NEXT」を押します。
次画面は以下のように入力します。1番の項目を「/home/(自分のアカウント)/www」に。
10番を「/home/(自分のアカウント)/www/go-pear-admin.php」に。
11番を「/usr/local/bin/php」に。
後は設定せずに、「install」ボタンを押す。
インストールが終われば、www以下に、「go-pear-admin.php」が出来ているはずです。
エディターで開いて、8行目の「$pear_dir = ‘@pear_dir@’; // default of install」の部分を、
「$pear_dir = ‘/home/(アカウント名)/pear/PEAR’; // default of install 」に変更し保存。
ブラウザで、「http://(ドメイン名)/go-pear-admin.php」にアクセスします。すると下記画面に。
一番下の「Quick-Install a package」に、必要なパッケージ名を入力し、クイックインストール。
画像を添付したメールを自動で文章や件名、画像と分解して、
MySQLやサーバー内に画像を保存するのには、以下のパッケージ名を入力すれば大丈夫でした。
画像分解などのやり方はまた今度。
※画面上部のWarningは、他者にアクセスされると困るので、パスワードを付けてとのアラート。
【インストールしたパッケージ】
- Mail
- Mail_Mime
- Mail_MimeDecode
最後に、さくらコントロールパネルにアクセスし、サーバツールの設定→PHP言語に関する設定→php.ini設定ファイル編集で
「include_path=”.:/home/(アカウント名)/pear/PEAR”」 の一行を追加し終了です。
カテゴリー:PHP, Tips, さくらインターネット :
コメント(4)
2011年8月18日 12:56 PM
さくらインターネットで、空メールからPHPプログラムを実行するやり方をメモ。
メールの着信をトリガーにしてPHPプログラムを起動する方法です。
- サクラコントロールパネルで、空メールにしたいメールアドレスを新規で作成する。例) test@test.com
- 作成したメールアドレスにメール転送設定を行う。すぐに消去するので、転送するアドレスは何でもいい。設定したら、すぐに転送設定を消去する。
- FTPでサーバーに接続し、「/home/ユーザー名/MailBox/test/」の「.mailfilter」にこの後の内容を入力する。最初は何も書いていないファイルです。もし、このファイルが存在しなかったら、「.mailfilter」のファイルを新規で作ります。
- 「.mailfilter」の中身を以下のようにする。cc “| /home/ユーザー名/www/test.php”
※サーバーによって変わるので、ご自身のサーバーのドキュメントルートを記述して下さい。
通常さくらは、/home/ユーザー名/www/です。
ユーザー名は、さくらインターネットの契約時に決められた名称を入れてください。
CCの後、|の後には半角スペースが入るので注意してください。
- 「.mailfilter」は、パーミッション(属性)を600に変更してする。
これで、メールを受信したら自動的に、/home/ユーザー名/www/test.phpのPHPプログラムが実行されることになる。
- 実行させるPHPプログラムには、空メールで受け取った際に実行したいコードを記述します。
一行目には必ず、「#!/usr/local/bin/php」 を入れる。
あとは、通常のPHPを書くのと同じです。ただ、ファイルを保存したりする保存場所は、間接指定「../」や直接指定「http://www〜」は使用せずに、サーバードキュメントルート「 /home/ユーザー名/www/」で指定してください。
- 実行させるPHPは、パーミッション(属性)を744に変更してする。
- 以上
これで、空メールがきたら、自動的に指定のプログラムが起動する事となります。
上記、【4】での【CC】の部分ですが、空メールをメールソフトでも受信したい場合は、【CC】にします。
ただ、【CC】だと空メールがくるたびに、メールソフトで受信しないと溜まっていきます。
メールソフトで受信せずに、プログラムを実行させるだけなら、【to】 を使います。
うまくプログラムを記述すれば、データーベースに登録したり、PEARを使えば、メールに添付された画像を取り込む事ができます。
カテゴリー:Tips, さくらインターネット :
コメント(2)
2011年8月18日 12:25 PM
弊社で今後使うために取得した日本語ドメインの設定方法をメモ。
さくらサーバーとお名前.comを使った設定方法です。
色々とサイトを確認していると先に、さくらインターネットを設定しないと動作しないとの事。
なので、間違えないように先にさくらを設定します。
弊社の日本語ドメインも設定済みです。エクスプロード.jp
さくらインターネットでの設定
- 日本語ドメインを取得し、Punycodeに変換する。→こちらで変換できます。
- FTP で、/home/ユーザ名/www の直下に、あらかじめこのドメインが使うフォルダを作成する。
さくらインターネットはマルチドメインなのでこのように設定する。
- サーバ コントロール パネルにログインする。
- サーバ情報の表示 → サーバに関する情報を確認し、IP アドレスをメモっておく。111.11.111.11など
- ドメイン設定 → 新しいドメインの追加 → 【5. 他社で取得したドメインを移管せずに使う・属性型JPドメインを使う(さくら管理も含む)】を選択する。
- 【他社で取得された独自ドメインのサブドメインを追加】のところに、追加したいドメイン名を Punycode 形式で入力して送信する。
- 次の画面でマルチドメインを設定する。
設定:「www」を付けずに運用したい場合は、「wwwを付与せずマルチドメインとして使用する(上級者向け)」を選択する。
対象フォルダ:先程、/home/ユーザ名/www直下に作成したフォルダを指定する。
送信して完了。
お名前.comでの設定
- ドメイン Navi にログインし、ドメインの設定画面に移動する。
- レンタル DNS レコード設定 →入力画面に進む。
- ホスト名:Punycode 形式で記載する。(.jpや.comまで入力)
- TYPE:A
- VALUE:さくらコントロールパネルでメモした IP アドレスを入力。111.11.111.11など
- 追加して、設定内容を確定する。
- 「ドメイン設定」メニューから「ネームサーバー変更」をクリックします。
- 「ネームサーバー変更」画面で、変更したい日本語ドメイン(複数選択可)を選択し、「他のネームサーバーを利用」を選択。
- プライマリ:ns1.dns.ne.jp、セカンダリ:ns2.dns.ne.jp を入力し、確認画面へ進む→設定で完了。
※さくらインターネットのネームサーバーを入力します。画面では、お名前.comのプライマリ:01.dnsv.jp、セカンダリ:02.dnsv.jpを設定してと出るが間違いないように。
- DNSを設定後、切り替え作業に入ります。早ければ30分くらいで変更されますが、最高72時間かかります。
カテゴリー:Tips, サーバー, さくらインターネット :
コメント(1)