このスレッドは解決済です(未解決に戻す場合はこちら)
<<戻る

Perlスクリプトが動かない このメッセージに返信する
日時: 2010/08/07 12:42
名前: mahiro
URL:
この度、自動返信システムの前置きとして、単純に.forwardファイルでメールが来たらPerlスクリプトを実行するようにして、Perlからメールを送るスクリプトを書いたのですが、スクリプト自体が動いてくれません。
これをシェルスクリプトのプログラム中でやった所、シェルスクリプト(mailコマンドを使って)ではメールが送信できるので、おそらくPerlのプログラムの問題だと思うのですが、何が問題なのか理解できません。

方法としては、まず.forwardに、
"| exec /home/ユーザ名/auto_res.pl -Y"

を入力しています。

で、そのプログラム内容ですが、
#!/usr/bin/perl

require "/home/ユーザ名/jcode.pl";

$sendmail = '/usr/sbin/senmail';

$to="送信先アドレス\@ezweb.ne.jp";
$from="送信者アドレス\@*******.jp";
$subject="autoreturn";
$body="This is autoreturn test.";

# 本文をJISコードへ変換
&jcode'convert(*body,'jis');

# 標題をJISコードへ変換
&jcode'convert(*subject,'jis');

# ファイルハンドルをsendmailへ
open(MAIL,"| $sendmail -t");

# sendmailへコマンドの出力
print MAIL "To: $to\n";
print MAIL "From: $from\n";
print MAIL "Subject: $subject\n";
print MAIL "\n";
print MAIL "$body\n";
close(MAIL);

exit;


のようになっています。
ログを確認したところ、.forwardによって、プログラムへとメールが渡されたところまでは問題ないようです。
.
.
.
Jul 21 22:44:56 ******* postfix/local[7469]: D3D021F181F1: to=<*******@*******.**.jp←自鯖アド>, relay=local, delay=0.06, delays=0.04/0.01/0/0.01, dsn=2.0.0, status=sent (delivered to command: /home/*******/auto_res.pl)
Jul 21 22:44:56 ******* postfix/qmgr[6285]: D3D021F181F1: removed
↑ここまでがプログラムにメールを渡すログ
↓ここからが何なのかわからない
Jul 21 22:44:56 ******* postfix/smtp[7465]: B114E1F181EF: to=<*******@*******.**.jp←自鯖アド>, relay=127.0.0.1[127.0.0.1]:10024, delay=0.88, delays=0.75/0.01/0/0.13, dsn=2.0.0, status=sent (250 2.0.0 Ok, id=06875-05, from MTA([127.0.0.1]:10025): 250 2.0.0 Ok: queued as D3D021F181F1)
Jul 21 22:44:56 ******* postfix/qmgr[6285]: B114E1F181EF: removed


このログを見ると、メールがプログラムに渡された後に、何か他の動作をしているようなのですが、実態がつかめません。
どなたかアドバイスいただけないでしょうか。

メールサーバーはこのサイト通りに構築(Postfix)したのですが、もしかして、内部からメールを送信する際に、スパム扱いされて弾かれているのでしょうか…。(再送信しないので)
でも、普通にコマンドラインから
# /usr/lib/sendmail -t
TO: 送信先
From: 送信者
.

のように入力すると送信(本文等なし)できるので、おそらくそれは違うと思うのです。
記事編集 編集
Re: Perlスクリプトが動かない このメッセージに返信する
日時: 2010/07/22 00:15
名前: 新高校生
URL:
Perlのプログラム(スクリプト)は手動で実行してエラーメッセージがでませんか?
(あきらかに変なところがあります)
まずご自分でデバッグするといいと思います。
記事編集 編集
Re: Perlスクリプトが動かない このメッセージに返信する
日時: 2010/07/22 00:40
名前: mahiro
URL:
>新高校生様

お恥ずかしい…。
sendmailのパスがもろに間違ってましたね。
くだらない質問をしてしまったことをどうかお赦しください。

質問が消せないのが、私への代償です。汗

ご指摘ありがとうございました。
記事編集 編集
件名※必須
名前※必須
URL
任意のパスワード (投稿後のコメント修正・削除時に使用)
画像認証※必須 投稿キー(画像で表示されている数字を入力)
コメント※必須

※質問を投稿後に自己解決された場合は、原因と行った対処を具体的に書き込み下さるよう、よろしくお願いします。

- WEB PATIO -