【PEAR】さくらサーバーで、受信メールの内容を取り出す

まず、さくらインターネットサーバーで以下の2点は完了しておいて下さい。
以前僕がブログ内で書いたものです。

  1. 【PEAR】さくらインターネットサーバーでPEARを使う
  2. 【空メール】さくらインターネットで、空メールからPHPプログラムを実行する。
  3. 【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