- PR -

空メール→自動返信メールの実現

投稿者投稿内容
がるがる
ぬし
会議室デビュー日: 2002/04/12
投稿数: 873
投稿日時: 2004-03-18 16:16
どもも。がると申します。

引用:

ふるちんさんの書き込み (2004-03-18 15:21) より:
Linux(var.2.2.14.5)、
sendmail(var.8.9)でメールを受信し、送信元メールアドレスに
定型のメール内容で返信を行いたいと思っています。
-中略-
メール受信時にperlスクリプトを起動し
perlスクリプト内で送信元メール情報を取得し、
メールを送信する事ができるのか
ご存知の方がいらっしゃいましたら
よろしくおねがいいたします。


可不可の話をすると「可能です」。
最近qmailばかり使っているのでsendmailの細かい部分はちと
失念しておりますが、基本的には
.forwardファイルで「プログラムを起動する」ように設定する
方法だったように思います。|に続いてプログラムパス、だったかな?

このパターンで「標準入力(STDIN)」にヘッダを含むメールが流れてくる
はずなので、あとはメールヘッダを解析して自分好みに処理を
すればOKだと思います。
ふるちん
会議室デビュー日: 2004/03/18
投稿数: 4
投稿日時: 2004-03-18 16:36
レスありがとうございます。

実は先日、上司からforward機能を持たせてくれといわれて
自分のメアドでテストして実装完了しました。
その後、forward機能を停止させようと思い、
<ホームディレクトリ>/.forwardを削除しましたが、
停止しませんでした。
かつ、上司のアドレスにforward機能を持たせようとしたら、
今度はforwardの設定ができなくなりました。
(自分のメアドでテストしていた時は失敗時にmail_logにエラーがでていたのですが、
今は何も出力されない状態)

ここら辺を勉強して実装を試みてみたいと思います。

結果お知らせいたします。

ありがとうございます。
ふるちん
会議室デビュー日: 2004/03/18
投稿数: 4
投稿日時: 2004-03-18 23:28
ありがとうございます。
結果報告します。

引用:

<ホームディレクトリ>/.forwardを削除しましたが、
停止しませんでした。
かつ、上司のアドレスにforward機能を持たせようとしたら、
今度はforwardの設定ができなくなりました。
(自分のメアドでテストしていた時は失敗時にmail_logにエラーがでていたのですが、
今は何も出力されない状態)



すいません、勉強不足なのですが、touch .forward ではなく、
touch ~/.forward としたら.forwardの機能を実装する事ができました。
逆に rm ~/.forwardとしたら機能の停止をする事ができました。
【~/】については未だよく理解できていません、
Webページから抜粋し、試してみた結果です。

またスクリプトの起動ですが、
当初、unsafe program‥のエラーをsendmailが吐き、
groupでパーミッションが760だったファイル(ディレクトリ?すいません忘れました)
を700に変更しました。

すると今度はunkown mailer error 255とやらを吐き出すようになりました。
試行錯誤してはまっていたところ、
このエラーを出した場合には送信元にメールを返すようなのですが、
メールの本文を見てみるとスクリプトのエラーメッセージと
エラー行番号が記載してあり、バグを取ったところスクリプトが
機能しました。

ありがとうございました。







kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2004-03-18 23:34
こんばんわ.

引用:

すいません、勉強不足なのですが、touch .forward ではなく、
touch ~/.forward としたら.forwardの機能を実装する事ができました。
逆に rm ~/.forwardとしたら機能の停止をする事ができました。
【~/】については未だよく理解できていません、
Webページから抜粋し、試してみた結果です。


ちなみに touch .forward はどこで実行されました?
~/ は home directory ではないかと.
ふるちん
会議室デビュー日: 2004/03/18
投稿数: 4
投稿日時: 2004-03-19 13:09
おはようございます。

~/の意味がわかったおかげで理解できそうです。

実は上司のは成功していなかったのが今日発覚しました。
上司の社内メアドに送信されたメールを上司の携帯へと
設定したつもりが、
rootに送信されたメールが上司のメアドと携帯に転送されている状態でした。

メールログにto=\<メアド>と、\マークが付加されたログがでていたので
成功したと思っていたのですが、
<上司のホームディレクトリ>でrootで作業していました。
そこで[touch|vi] ~/.forward 等で作業していたので、rootに送信された
メールの転送設定を行っていたという事に気づきました。
cronがroot宛に出すメールが上司宛に60通以上きていましたW。

アカウントを全く意識せず作業していたものでどのアカウントでどの
作業はしたか記憶してません。
そこら辺が今回はまった原因みたいです。
KEN
会議室デビュー日: 2004/08/28
投稿数: 1
投稿日時: 2004-08-28 03:43
引用:

ふるちんさんの書き込み (2004-03-19 13:09) より:
おはようございます。

~/の意味がわかったおかげで理解できそうです。

実は上司のは成功していなかったのが今日発覚しました。
上司の社内メアドに送信されたメールを上司の携帯へと
設定したつもりが、
rootに送信されたメールが上司のメアドと携帯に転送されている状態でした。

メールログにto=<メアド>と、マークが付加されたログがでていたので
成功したと思っていたのですが、
<上司のホームディレクトリ>でrootで作業していました。
そこで[touch|vi] ~/.forward 等で作業していたので、rootに送信された
メールの転送設定を行っていたという事に気づきました。
cronがroot宛に出すメールが上司宛に60通以上きていましたW。

アカウントを全く意識せず作業していたものでどのアカウントでどの
作業はしたか記憶してません。
そこら辺が今回はまった原因みたいです。




このスレッドに非常に興味がありますが、
超初心者なので、具体的なソースをご教示していただければと思います。

大変お手数なのですが、若輩ものの成長の為、
是非お願い致します。

私がやりたい事は、ふるちんさんと同じく
空メール→自動返信メール(URL付き)
です。

また、メールアドレスの取得(一覧)も実現したいです。

サーバ:Linux Fedora core 1
MAIL:Sendmail
その他:php,perl
です。

超初心者にわかるように、
手順も含めてご教示いただければ幸いです。

よろしくお願い申し上げます。

スキルアップ/キャリアアップ(JOB@IT)