• 締切済み

メール到着時にプログラムを自動起動させる

この質問がどのカテゴリかわからなかったのでここで質問します。 現在、solaris8上のqmailをもちいてメールの受信をしています。また、そのメールをNAMAZUで全文検索しています。 そこで質問なのですが、NAMAZUのインデックスを自動起動するシェルスクリプトはかけたのですが、各ユーザがメールを受信したときにこのシェルスクリプトを実行するようにしたいのですが方法をご存知の方はいませんでしょうか。 なお、各ユーザのホームディレクトリ下の.qmailに |/home/testusr/shellscripts を書いてもだめでした。

みんなの回答

  • bagyo
  • ベストアンサー率40% (16/40)
回答No.1

こんにちわ。 qmailでプログラムを実行するときの書式が違うのではないでしょうか? 私の場合、メールの整形、転送プログラムを実行させるようにしておりますが、以下のような形式ですと上手くいくはずです。 .qmailの中身 ---ここから--- | preline /home/testusr/shellscripts ---ここまで---

bukas
質問者

お礼

ありがとうございます。 参考になりました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • qmail設定でメールが受信できません。

    お世話になります。 Solaris8 にてqmailのインストールを行いメール受信設定を行ったのですが、PCのメールソフトからメールが受信できません。サーバーの各個人のディレクトリには外部からメールは届いているのですが、PCからそのメールを受信することができません。その際、認証は問題なく通っています。 下記のアドレスを参考に設定を行いました。 http://www.kozupon.com/mail/qmail2.html ユーザーの登録及びディレクトリ作成については、下記のコマンドにて行いました。 [ユーザー登録] useradd -u 1000 -g qmail -d /export/home/hoge -m hoge passwd hoge [passwdファイル] hoge:x:1000:102::/export/home/hoge:/bin/sh [ディレクトリ作成] /var/qmail/bin/maildirmake /export/home/hoge/Maildir chown -R hoge:qmail /export/home/hoge/Maildir echo "./Maildir/" > /export/home/hoge/.qmail chown -R hoge:qmail /export/home/hoge/.qmail 下記の内部テストでは問題なくメールが送信されました。 設定したディレクトリ(/export/home/hoge/Maildir/new/)に入りました。 # /var/qmail/bin/qmail-inject to: hoge TEST ctrl+D telnet hoge.hoge.com pop3 で接続すると問題なく接続 できるのですが、受信されているメールが0件になって表示されます。 +OK QPOP (version 3.1.2) at hoge.hoge.com starting. user hoge +OK Password required for hoge. pass hoge +OK hoge has 0 visible messages (0 hidden) in 0 octets. お教えいただければ幸いです。

  • qmailでアカウントにも転送先にもメールが届くようにするには

    あるドメインのdot-qmailファイルを特定ユーザーのホームディレクトリ /home/domain に集めて管理しています。 adduser newuserとして、このユーザーディレクトリ(/home/user)にMaildirディレクトリを作り、/home/domain/.qmail-newuserの中身を &user1 &user2 &user3 &newuser とすると、newuserのメールボックスにしか届きません(user1、user2、user3に送られない)。newuserをユーザー削除してしまうと、user1、user2、user3に届くようになります(このとき、&newuserの行も削除しておく)。送り先のメールアドレスのアカウントにも届き、かつ、転送先にも届くようにするにはどうしたらよいでしょうか。

  • qmailからのスクリプト起動でのPostgreSQLへの接続と他のスクリプトの起動

    こんにちは.はじめまして. qmailを起動し,メール到着時にmail.plというPerlスクリプトを起動しています. このmail.pl内で,PostgreSQLに接続し,データベースをいじりたいのですが, なぜかqmailで指定したスクリプトからはいじれません. 同じように,他のスクリプト(new.pl)をrequireを使用して呼び出しているのですが, 呼び出すことができません. new.plのパーティションは777に設定しました.(こんなに必要だとは思いませんが) qmail を利用すると,起動するスクリプトは誰が起動していることになるのでしょうか? 全てのスクリプトと.qmailはユーザーuser,の中にあります. PostgreSQLでは,ユーザーuserは作成してあり, mail.plの中で呼び出すDBの作成者はuser です. 初心者で何もわかっていないのですが, よろしくお願いします.

  • .forwardを自分で置ける無料のサービスって無いものでしょうか?

    あるperlのスクリプト(メールを分割転送する 機能を持っています。)を実行したいのですが、 設置場所として次のような条件が必要です。 1.個人のホームディレクトリに .forward   (もしくは .qmail)を置くことができる。 2.MTA(sendmail,qmail等)が個人のホーム   ディレクトリにある上記のファイルに従い、   メール受信をトリガーとしてプログラムを   起動することができる。 3.perlが使える。  有料のプロバイダであれば可能なところも あるようですが、無料で上記の条件を満たす サービスを行っているところが無いものでしょうか。  ご存知の方がいらっしゃいましたらお教え 頂けないでしょうか。宜しくお願い致します。 #↓このスクリプトを使いたいのです。  実用すくりぷとん http://www.rie.h.kobe-u.ac.jp/~ohkubo/script.shtml

  • ksh起動時に自動で.kshrcを読み込ませたい

    いつも参考にさせていただいています。 Solaris10 (for X86)使っています。 一般ユーザーでkshを起動すると /.kshrc(←なかったので作りました)を自動で読み込んでくれます。 が、rootユーザーでksh起動しても /.kshrcを自動では読み込んでくれません。 rootユーザーの$HOMEは/なので、/.profileに . /.kshrc と記述すればよいのでしょうが、 一般ユーザーでは$HOME/.profileに記述しなくても/.kshrcを自動読込するのに なぜrootユーザーではだめなのかわかりません。 ご存知の方がいらっしゃればぜひご教授のほどお願いします。

  • Linux メールアカウント自動生成

    現在、PHPでログイン機能のあるWEBサイトを開発しております。 そこでアカウントを作成したタイミングでバーチャルドメインのメールアドレス(info@www2.example.jp) を自動生成するプログラムを作りたいと思っております。 シェルスクリプトは初心者です。 OS: CentOS release 5.7 (Final) メールサーバ: qmail root権限有り 今のところ考えている方法↓ 1、メールアカウントを作るシェルスクリプトを作成 #!/bin/sh # domain domain=$1 # user name user=$2 # password passwd=$3 # mail address email=$2@$1 expect -c " set timeout 5 spawn /home/vpopmail/bin/vadddomain ${domain} expect \"Please enter password for postmaster:\" send \"${passwd}\n\" expect \"enter password again:\" send \"${passwd}\n\" interact " expect -c " spawn /home/vpopmail/bin/vadduser ${email} expect \"Please enter password for ${email}:\" send \"${passwd}\n\" expect \"enter password again:\" send \"${passwd}\n\" interact " 2、PHPのシステム関数でシェルスクリプトを実行 $result = exec("/home/example/create_email.sh www2.example.jp info passwd"); 【問 題】 ・root権限でないとシェルスクリプトを実行できない ・会員数が1千人規模になった場合の負荷 (会員は恐らく最大1千人くらいまでを見越しています。また、 全員にメールアドレスを作成しますが、必ずしも使用しない。) 問題の解決方法はありませんでしょうか?また、 もっといい方法はありませんでしょうか?。

  • メール受信で空メール送信のプログラムを作成中です

    メール受信で空メール送信のプログラムを作成中です 開発環境は以下の通りです。 CentOS5.4 CakePHP1.1 PHP5.1 Postfix2.3 参考サイト ; http://d.hatena.ne.jp/ngtn/20080208/1202400164 流れとしては メール受信 ↓ aliasesでシェルスクリプトに ↓ シェルスクリプトでreceiver.phpに ↓ PHPでメール解析し、空メール送信や添付ファイルを保存。 上記のようにしたいです。 やったこと /etc/aliases メール受信用ユーザー名: "|sh /***/***/app/vendors/receiver.sh" /***/***/app/vendors/receiver.sh #!/bin/sh cd /***/***/app ../cake/console/cake receiver receiveMail =>ここの意味がよくわからないのですが、サーバーにはconsoleフォルダが存在しませんがこのままでいいんでしょうか? /***/***/app/vendors/shells/receiver.php $fromに対してメールを送る処理を追加しました。 以上のことをして、メールを送信したら以下のようなエラーが返ってきました。 Command died with status 127: "sh /***/***/app/vendors/receiver.sh". Command output: /***/***/app/vendors/receiver.sh: line 2: cd: /***/***/app_: No such file or directory /***/***/app/vendors/receiver.sh: line 3: ../cake/console/cake: No such file or directory 以上、1週間以上悩んでおります。どうかご教授お願いいたします。

    • 締切済み
    • PHP
  • ユーザの利用コマンドを制限

    SuSE Linux 9.3 を使っております。 今回はあるユーザAに対してSSHによるログインのあとにホームディレクトリにあるシェルスクリプトだけを実行させるようなアカウントを作成したいのですが、そういったことは可能でしょうか。 また特定のユーザに対して「ls」は使わせるけど「rm」は使わせないうような細かな調整は可能でしょうか。 ※今回のユーザAに実行させたいシェルスクリプトは特定のファイルを特定のファイルにコピーして古いのは削除してしまうというシンプルなものです。

  • rootにpathを通す方法

    こんにちは、kaituyoと申します。 Solaris8でのpathの通し方の質問です。一般ユーザーの場合ですとHOMEディレクトリの中の「.cshrc」ファイルにpathを書きこみシェルを再実行させればコマンドが使えるようになりました。しかし、rootでログインすると使えません。それで、rootにもpathを通そうかしたら「.cshrc」が見つかりません。  rootでpathを通してコマンドを実行できるようにはどうしたらいいのでしょうか? よろしくお願いします。

  • ~/.profile を変更するにもみつからない

    まず、ご回答くださった皆様に感謝しております。 ありがとうございます。 まずSolaris 10に挑戦中です。 実はシェル(bash)環境設定というかシェル変数の設定を LINUXのようにしてコマンドラインを ユーザ名@ホスト名 現在のディレクトリ# としたいのですが、~/.profileを変更すればよいと書籍に記載され ているものの、そのファイルが見当たりません。 ~はホームディレクトリを言うことで、/homeを見ても これはマウントされるものと言うことで、実際は/exportにある とのことなので、そちらも見ましたが、それらしきものが ありません。 /etc/profile ~/.bash_profile ~/.bash_login ~/.profileと 読み込まれていくのは分かったのですが、どのファイルも ~=ホームディレクトリですので、先ほどのように どこを探してもない・・・状態で困っています。 どこにPS1="$user$host~~~を書いたらよいのか ご教授願います。 よろしくお願い致します。

このQ&Aのポイント
  • ドライバーのインストール後、「ステータスモニターがインストールされていません」というエラーメッセージが表示され、更新ができない問題について相談しています。
  • 購入した製品に付属していたドライバーをインストールした後、ソフトウエアの更新ができず、「ステータスモニターがインストールされていません」というエラーメッセージが表示される問題が発生しています。
  • Windows11を使用している環境で、無線LAN接続をしている際に、製品のドライバーをインストールすると、更新ができずに「ステータスモニターがインストールされていません」というエラーメッセージが表示される問題について質問しています。
回答を見る

専門家に質問してみよう