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仕事

執筆者:

関連記事

Google app scriptの「このアプリはブロックされます」問題にあたった

突然、新規に作成したスプレッドシートでGASのスクリプトを書いて実行しようとすると、「承認が必要です」とのダイアログボックスが表示され、承認操作のあとに、「このアプリはブロックされます」と表示され、ア …

no image

教育訓練給付制度

おや? 久々にITCの公式HPを見ると、こんな記述が。 「ITコーディネータ補資格認定用ケース研修は、2005年度より、厚生労働省教育訓練給付制度の対象講座になっておりません」 私が受験した2年前は、 …

no image

Windowからアクセスするネットワークフォルダの「thumbs.db」が削除できなくて困った

画像がたくさん入れてあるフォルダを削除しようとしたときに、このファイルだけ削除できなくて、結果、フォルダも削除できなくなり、困ったことになった。 Googleさまを頼ってベストな方法を検索するにも、見 …

WooCommerceのメール通知設定「注文保留」は支払方法「銀行振込」において必須

はまった。 先ほどからWooCommerceをテスト環境でテストしている。 困ったことに、支払方法を銀行振込にしたときに限り(クレジットカードと代引きは影響なし)、メールが注文者に送信しなくなった。 …

no image

XOOPSとWordPressが同居しているDBでWP側のデータをいじりたいとき。

かたやEUC、かたやunicodeなので、なかなか思ったようにいかず、しばらく試行錯誤。 苦労した結果、以下の手順でやればうまくいきそうなので、覚え書き。 ■PhpMyAdminで既存DBからエクスポ …