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

来週やるExcelVBAセミナーの準備をしていて、

同じ「飛び物」でもロケットが好きな人とラジコンが好きな人がいるよな、とふと思った。 ロケットの好きな人は、 準備をきちんと整えて、万全を期して発射スイッチを押す・・・飛んだ!あんなに高く。感動! 飛ん …

no image

2年ぶりくらいにルミーズカートを使おうとしたのだがうまくいかん

2年ぶりくらいにルミーズカートを使おうとしたのだがうまくいかん カートのバージョンはVer1.4.5。 早速、サーバへの設置がうまくいかない。 「非公開ディレクトリ」の設定をしたがどうもdbフォルダに …

no image

Photoshopで画像半分をぼかす(グラデーションで半透明に)する

よく忘れる(というか覚えられない)ので、備忘録。 1.画像を開く。またはレイヤーを選択。 2.レイヤー下の「ベクトルマスクを追加」ボタンをクリック 3.半身をグラデーションにしたい範囲をドラッグで選択 …

no image

イーサネットコンバーターを使ったプリンタの無線化で手間取った件

会社で、BuffaloeのイーサネットコンバータWLI3-TX1-G54を使って、CanonのLPB6300を無線化しようとしたのだが、結果1日半かかってナントカできたもののヘトヘトになってしまったの …

no image

Windows Live ムービーメーカー 意外と簡単

DVDからPCへ動画を取り込み、WindowsLiveムービーメーカーを使って、意外と簡単にYouTubeにアップロードできました。以下は手順。 1.DVDディスクの中に拡張子がVOBのファイルがある …