2011-06-21 11 views
0

私はLAMP設定を持っています。私は、メール()コマンドを傍受し、私は私のJavaクラス・ファイルであるphp.iniのにJavaクラスを使用してPHPメール()を傍受する

sendmail_path = /home/jlarkins/Desktop/CustomMail 

を変更してあるなどのsendmailを呼び出すのではなく、私自身のJavaコードを呼び出すようにしようとしています。問題は、私がPHPテストのemailerでこれをテストしようとすると、何も起こりません。誰かが私を助けてくれますか?Javaエラーの正しいログファイルを教えてください。あるいは私が使っている構文を修正してください。私はそれが電子メールを送信しないことに気にしない、私は電子メールをとにかく外出したくない。私はちょうどそれをトラップし、自分のJavaコードを介して分析したい。

+0

は、Javaクラスファイルを実行可能ですか?そうでない場合は、シェルスクリプトでブートストラップする必要があります。 – Tom

+0

それはあなたが意味するものなら、それは主な方法がありますか?それともJARになる必要があるのですか? – jlarkins

+0

JavaクラスまたはJARは、通常、「java」コマンドを使用して実行されます。 "java CustomMail"または "java -jar CustomMail.jar"。おそらくphpがしようとしているコマンドラインやスクリプトから呼び出すことはできません。これはどのOSですか? – Tom

答えて

1

まず、PHP/Apacheエラーログファイルを調べて、そこに何かがあるかどうかを確認します。

"CustomMail"は.classファイルですか? yesの場合、実行可能ファイルではないため、PHPは実行できません。 sendmail_path変数を実行可能ファイルに指定する必要があります。実行可能ファイルは、Javaプログラムをロードして引数を転送します。

このような何かが動作するはずです:

#!/bin/sh 
[ -r CustomMail.class ] && java CustomMail [email protected] 
+0

私はこれを試していますが、もちろん私はLinuxの世界で初めてです。上記の2行のコードをMailWrapper.binという名前のファイルにコピーし、それをコマンドラインから単独で実行しようとしました。 MailWrapper.bin:コマンドが見つかりませんでした – jlarkins

+0

あなたはそれを実行可能にする必要があります。 "chmod + x MailWrapper.bin"を呼び出し、この "./MailWrapper.bin"のように呼び出すか、スクリプトへのフルパスを指定するなどして実行します。 "/home/jlarkins/Desktop/MailWrapper.bin" – Tom

関連する問題