うろぐ

インターネットサービス&デジタル家電&デジタルカメラ&パソコンのレビュー

久しぶりにサクラサーバのmaildropを利用しようとしたところ、以前に利用したmaildropの設定とcgiプログラムが正常に作動しなくなってしまいました。
今回、新たに調べ直して、正常に作動させたので、その課程を備忘録として書き留めておきます。

まず、参考にしたサイトです。
http://faq.sakuratan.com/wiki/wiki.cgi?%A5%E1%A1%BC%A5%EB#i21

メールアドレスの設定の注意点

maildropを利用するメールアドレスを設定します。
サクラサーバのメールの設定は独特ですので、注意が必要です。
サクラサーバで複数の独自ドメインを使用している場合、設定したメールアドレスは各ドメインで共通となります。
例):
exampl.comとexampl.jpの二つのドメインをサクラサーバで運用していたとして、メールアドレスmail@exampl.comを設定すると、自動的にmail@exampl.jpのメールも設定されることになります。
つまり、mailと言うメールアドレスは、各ドメインで共通となるわけです。
mail@exampl.com
mail@exampl.jp
と言う、ドメインは異なるが先頭の文字が共通のメールアドレスを、別々のメーツアドレスとして運用すると言う使い方がサクラサーバでは出来ません。

わたしは面倒なので、info@exampl.comやinfo@exampl.jpと言うように、独自ドメインで運用するメールアドレスにはinfoを先頭につけているのですが、こうした手法がサクラサーバでは使えません。

.mailfilterの設置場所

「.mailfilter」の設置は、設定したメールアドレスのディレクトリに置きます。
例):
「mail」で始まるメールアドレスを設置すると、
/home/UserName/MailBox/mail
と言うディレクトリが作成されます。
このmailに「.mailfilter」をアップロードします。

「.mailfilter」の書き方

今回の目的は、不特定多数のユーザーに、指定したメールアドレス宛に空メールを送信してもらって、空メールを受信したら「.mailfilter」ファイルに書かれているcgiを動作させ、空メールのメールヘッダーからメールアドレスを取得してデータベースに格納するという機能を持たせるというものです。

作成したcgiが正常に動作することを確認してから、「.mailfilter」を経由して動作するように設定します。
まず、「.mailfilter」にcgiへの相対パスを書きます。
「.mailfilter」でcgiを動作させる場合、「.mailfilter」からのパスでcgiの位置を指定します。
cgiの設置場所が、
/home/exampl/www/exampl/cgi-bin/write.cgi
なら、「.mailfilter」には
cc “| /home/exampl/www/exampl/cgi-bin/write.cgi”
と書きます。
「|」と半角スペースを忘れないように書きます。
ccは処理をしたメールをサーバに残す設定です。メールを削除するのには、toを使用します。
「.mailfilter」のパーミッションは600に変更します。

cgiのパスの変更

次にcgiの方も設定を変える必要があります。
cgiが「.mailfilter」から動作する場合は、パスが「.mailfilter」になるからです。
もし、
require ‘.config.cgi’
など、設定ファイルやライブラリファイルを読み込んでいる場合、このパスを「.mailfilter」からのパスに変更しなければなりません。

具体的には、
require ‘../../www/cgi-bin/config.cgi’
となります。

4月 24th, 2013

Posted In: サクラインターネットのサーバー