天気予報を自動メール送信

天気予報を毎朝、携帯電話のメールに送信するスクリプトを10日前に作った。問題なく動作しているようなので、とりあえず公開しておく。

$url = 'http://web1.aaacafe.ne.jp/˜tenki/tenki.xml';
$location = '東京';
$oe = "EUC-JP";
$mailfrom = 'admin@oheso.com';
$mailto = $_SERVER['argv'][1];
require_once './rss_fetch.inc';
$rss = fetch_rss($url);
$subject = $rss -> channel['title'];
$subject = mb_convert_encoding($subject, $oe, "auto");
foreach ($rss -> items as $item ) {
   $title = mb_convert_encoding($item['title'], $oe, "auto");
   $description = mb_convert_encoding($item['description'], $oe, "auto");
   $location = mb_convert_encoding($location, $oe, "auto");
   if (ereg($location ,$title)) {
      $body .= "$description¥n";
   }
}
$body = preg_replace("/<br ¥/>/", "¥n", $body);
$subject = i18n_mime_header_encode(i18n_convert($subject, "JIS"));
$body = i18n_convert($body, "JIS");
$mp = popen("/usr/sbin/sendmail $mailto", "w");
fputs($mp, "MIME-Version: 1.0¥n");
fputs($mp, "Content-Type: text/plain; charset=¥"iso-2022-jp¥"¥n");
fputs($mp, "Content-Transfer-Encoding: 7bit¥n");
fputs($mp, "From: $mailfrom¥n");
fputs($mp, "To: $mailto¥n");
fputs($mp, "Subject: $subject¥n");
fputs($mp, "¥n");
fputs($mp, "$body¥n");
pclose($mp);

同じディレクトリ(この場合は˜/weather/)にMagpieRSSのファイル群を置いておく必要あり。

30 09 * * 1-5 /usr/bin/php -f /home/somin/weather/weather.php mymailaddress@ezweb.ne.jp

これでウィークデイの午前9時半に自動的にメールが送られる。とまぁ偉そうに書いているが、大部分は以下のリンク先を参考にさせていただいた。

天気予報RSS
天気予報RSS取得PHPスクリプトkenbo.net作成)
MagpieRSS

トラックバック(0)

このブログ記事を参照しているブログ一覧: 天気予報を自動メール送信

このブログ記事に対するトラックバックURL: http://somin.heteml.jp/mt/mt-tb.cgi/4304

コメントする

このブログ記事について

このページは、Sominが2004年6月28日 21:44に書いたブログ記事です。

ひとつ前のブログ記事は「SpamAssassinについて、さらに」です。

次のブログ記事は「前日の日付を得る」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。