IT仕事

空メールを送る仕組みをはじめて作るのに苦労した記録

投稿日:

4日間、苦労。モウイヤ。

■1日目:
携帯から空メールを送ったら、サーバがクリックしてほしいURLと送り主のメルアドを本文に書いて返す仕組み、それを作りたい。しかし何を準備してどうすればよい? まずは、そこからわからん。
ググって見ると、mailfilterという仕組みがあればよいとわかった。が、調べてみたら、会社で借りているplus-serverやロリポップ、WebArenaではそれは使えなかった。対応しているレンサバは少ないみたい。
しかし個人で借りている2つのレンサバのうちのひとつ、hostingrails.comはそれができた、ラッキー。

レンサバのcPanelには、メールの項目があり、ユーザレベルのフィルタリングとある。あと、フォワーダというのもある。あれやこれやといじっては見る。

メール転送の設定についてはなんとなくわかってきたが、メール受信で起動するPHPプログラムをまだ作っていなかったので、ググってサンプルを探して、自分のやりたいように修正する。フィルタ設定とPHPプログラムと、わからない二つを同時に手をつけることは危険だが、仕方ない。

いろんなブログやサイトを参考にしながら、数行のごく基本的なsendmailのPHPを何とか完成、メール受信をトリガにしてこのプログラムを動かす事に成功。
ここでギブアップ。

■2日目:
前日のPHPに記述を加えて自分のやりたいように直す。
しかし問題発生。

1.PCメールは返信されるが、ケータイメールは返信されない(ケータイといってもWillcomだが)。
2.返信されたメールともう一通、エラーメールが届く。エラーのほうには、PHPソースの書き換えによってはfailとかwarningとかioncubeとか書いてある場合もあるし、何も書いてない場合もある。あと不思議なことにエラーメールが届かないこともある。まあこれはごくシンプルなPHPソースの場合だけど。

1については、どうやらdocomoはメールの送信者名を記号で囲っていないことが原因らしいことがわかった。Willcomはだいたいがimode互換なので、きっとそう(?)。
docomoに対応していそうなPHPソースをググって見つけ、一応クリア。

2.については、何がなにやら、本当にわからずに2日消費。
Hostingrailsのフォーラムに質問してみたり、PHPのPEARパッケージのインストールやパスを疑ってみたり、php.iniをどこかで変えなくてはいけないのかと設定できる方法を探したり、代わりにできないかと.htaccessを置いてみたり、パーミションをあれこれ変えたり。
しかし決して成功することなく、ドツボにはまる。
この日は失意のうちに終了。

■3日目:
cPanelの設定が悪いのかPHPプログラムが悪いのか、両方が悪いのか、さっぱりわからない。
cPanel上のフォワーダを使ってみたがメッセージが変わるだけで、やっぱりエラーメールが返ってくる。
ううむ。

■4日目:
PHPプログラムが悪いような確信がだんだんしてきたので、いろいろと変えてみた。
その中で、一行目の、
#!/usr/local/bin/php -q
を行削除してみたら、これがビンゴ!
エラーが出なくなった。うれしい!

■参考にした情報ソースいろいろ
空メールの方法で一番参考になったのは、これ。
kawama.jp: 携帯の空メール機能を実装

あとは、これ。
ひでぶろぐ PHP全般さくらサーバーメールトリガー
さくらで空メールシステム作った時のメモ – 暗黒面Javascript開発ブログ
phpで空メールサービス:PHP講座

後で気づいたのだが、まったく関係ないはずのcPanelのファンタジスコをクリックするとエラーが出た(サポートに翌日メールして直してもらったが)ので、ひょっとするとサーバホスティング側も何か設定ミスをしていたのかも。今となってはわからんが。

-IT仕事

執筆者:

関連記事

no image

「良さそう」と思ってもらうには4つのポイント

経営を伸ばす視覚伝達デザインの鉄則 : 第4回 「良さそう」と思ってもらうには4つのポイントが必要 (1) 伝えたい情報が伝わっているか (2) 伝えたい世界観が伝わっているか (3) アイデンティテ …

no image

WordPressMe2.3.3で、Deprecatedエラー

朝、出社して管理しているお客様のサイトを見ると、上部に見たこともないエラーがずらずら出ていた。 Deprecated: Assigning the return value of new by ref …

no image

ペースターno日付計算

便利に使わせていただいているシェアウェアの「ペースター」ですが、 カスタムメニューを使って、3日前とか、一週間前の日付計算をしてから貼り付ける方法が、わからなかった。 さっきGoogleで調べたら、な …

no image

紙2001 長い間お世話になりました。

身辺整理をしております。 (といっても、辞表を出したとかそういうのではなく、単に、新年度に入ったので、スッキリしたく) まずは、IT環境からということで、いらないデータを削除したり、移動したり。 ソフ …

no image

Photoshopの疑問色々解決備忘録

Photoshopでレイヤーを重ねたときに特定のレイヤーのオブジェクトだけをグラデーションかけたい・・・って時にどうやるか。 どうするんでしたっけ? 以前悩んでいろんな人に聞いて回ってしかし誰もわから …