【PEAR】さくらサーバーで、受信メールの内容を取り出す
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)
コメントフィード
トラックバックURL: https://takanix.com/wp-trackback.php?p=555