• ベストアンサー

Perl でメールを受信・・・不可能?

レンタルをサーバーを借りています。 perl(CGIプログラム) でメールを受信し、その中身から 特定の文字を抜き出したり、加工したりしたいのですが、 それは可能でしょうか? 何冊かの書籍をみると、メールの送信のサンプルはある のですが、受信できる例がたまたま本がそうなのか、 どうか、見あたりません。 こんなサンプルのってるよ、なんて情報でも結構です。 やむにやまれず、CGIプログラムをはじめなければなら なくなりました。ご存知の方、どうかよろしくお願い します。

質問者が選んだベストアンサー

  • ベストアンサー
  • nipotan
  • ベストアンサー率59% (134/227)
回答No.3

超余裕で可能です。 Net::POP3モジュールを使用すればOKです。 Net::POP3モジュールが使用不可であれば、Socketモジュールを使って POPコマンドを送出すれば可能です。 POP3の知識などが必要ですが。 RFC1939をご参照。

参考URL:
http://www.csl.sony.co.jp/cgi-bin/hyperrfc?rfc1939.txt
yasu
質問者

お礼

ご回答いただき、誠にありがとうございました。 私には高度には違いないのですが、参考にさせて いただきながら、これから、チャレンジしてみることに します。超余裕という言葉に少なからず希望を もちました。

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

その他の回答 (2)

  • natural
  • ベストアンサー率37% (419/1115)
回答No.2

外していたらごめんなさい。 その前に、レンタルサーバーは自作CGIの使用はOKなんですよね? とりあえずOKという前提で話を進めさせて頂きます。 私が思いついた方法ですので正解手ではないかもしれませんが・・・。 そのメールが通常のメーラーから送られてくるとなると使えない手ですが、CGIからのフォームメールだと仮定します。 通常フォーム入力後確認を押すとメールが送信されますが、これを送信ではなくサーバーへの保存に切り替えます。 次に保存されたデータを読む(または処理する)CGIを用意します。 そして、このCGIの中、またはフォームの入力・保存するCGIで「特定の文字の抜き出し・加工」の処理を行えば良いのです。 完全にご質問の意図からは外れますが、もし全てのやりとりがフォームで行われるのならメール送信・受信は不要という例です。 重ね重ね、外していた場合はご容赦下さい。

yasu
質問者

お礼

ご回答いただき、誠にありがとうございました。 普通のメールをサーバーから直接受信したいと 考えています。やはり困難なようですね。。。 また別の方法を探ってみることにします。

全文を見る
すると、全ての回答が全文表示されます。
  • burn
  • ベストアンサー率65% (25/38)
回答No.1

結果から言うと、レンタルサーバーでは難しいと思います。 メールの送信は「sendmail」などで可能ですし、直接、SMTPから送信することは可能ですが、受信はメールサーバー内のメールボックスから取ってこないといけないので、サーバー側の設定が必要になると思います。 多分、メールサーバー側でロックがかけられていると思いますし、メールのスプール場所も教えてくれないと思いますよ。 レンタルサーバーの場合は、独自の設定を特別にしてくれる事は有り得ないので、難しいでしょう。 専用サーバーでは、sendmailを使用すれば、ある程度は可能になるはずです。

yasu
質問者

お礼

業者にその辺のところを今問い合わせています。 大いに参考にさせていただきます。 ご回答いただき、誠にありがとうございました。

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

関連するQ&A

  • perlで掲示板を

    perlの本を買ってきてサンプルプログラムでwindows内のサーバーでのcgiは動いたのですが、実際にプロバイダーにアップロードしようとしているのですが、upするファイルはcgi-libと実際に書いたcgiだけでいいのでしょうか。他に何かupする必要があるのでしょうか?なんか、ちょっと怖くて適当にはupできないでいます。

    • ベストアンサー
    • Perl
  • メールをFAX受信する方法って?

    フォームメールから送信されたメールの内容をFAXで受信する事って出来るんですか? そういうレンタルサーバのサービスがあるのか?それともPerlか何かで作れば可能なのか? どなたかその辺のことご存知でしたら教えて下さい。

  • CGI(Perl)でメールフォームを作ったのですが

    CGI(Perl)でメールアドレス、名前、内容のメールフォームを作ったのですがうまくいきません。 http://homepage.biglobe.ne.jp/errorpage/500.html CGIプログラムのエラーが発生しました。 原因 CGIプログラムの実行に問題があります。 まれに、予期しないサーバのエラーが原因でこのメッセージが出る場合があります。 と表示されます。 CGIのプログラムを作る前はHTMLだけで作っていました。 <form action="mailto:メールアドレス"~ メールアドレスを非公開で送信するには。

    • ベストアンサー
    • Perl
  • Perl メールフォーム複数のアドレスに。

    メールを複数のアドレスに配置したいのですがPGをどう変更すれば よろしいでしょうか? 参考ソース #!/usr/bin/perl # フォームメール #jcode.plの場所を設定 require "./jcode.pl"; # sendmailの場所を設定 $sendmail = '/usr/lib/sendmail'; # サンプルのタイトル $mail_title = "メール送信サンプル"; # ページの背景色 $bgcolor = "#FFFFFF"; # ページの文字色 $text = "#000000"; # 戻り先のURL $back_url = '***@aaa.co.jp'; # CGIプログラムの設置場所 $cgi_url = "./mail.cgi"; # 受信メールアドレス(送信先) $mailto = '***@aaa.jp';

    • ベストアンサー
    • Perl
  • Perlのアドレスについて

    はじめまして、 Webサーバー初心者です。 CGIを動かすモジュールを入れて実際自分のサーバーでCGIを動かそうと思ったんですが、CGIのプログラムの頭にある「#!user/local/bin/user」(←例です)などのアドレスの指定がよくわかりません。よく、レンタルサーバーとかであると「うちのPerlのアドレスは#!user/local/bin/user」ですなどと表示されていたりしますが、今回は自分がサーバーなのでほかのユーザーがPerlを使うときにアドレスを指定してあげないといけません。どうしたら自分のサーバーのPerlの場所の指定ができるのでしょうか?(ようは,私の場合どのようなアドレスになるのかが知りたいわけです) ちなみにPerlのインストール先は「C:\Perl」でソフトは「Active Perl」を使用しております。サーバーのOSはWindowsXP(Pro)です。 よろしくお願いします。

  • メール受信の遅さについて

    先日、「特定の相手からのメールが受信できない」という質問をしました。 結果的に、ただ単純にメールの受信が遅かったという事で、相手の送信サーバが送信してから1日半遅れくらいで受信サーバに届いていました。 つまり、受信を試みた時点で、受信サーバにメールが無かっただけでした。 回答してくれた方々ありがとうございました。 また、ご迷惑をおかけして済みませんでした。 そこで、質問なのですが メールの送受信に時間がかかるのは仕方ないかな、と思うのですが、これはどちらのサーバの問題でもなく、こういうものと割り切るしかないものなのでしょうか。 こちらから送ったメールはすぐに相手側に届いているため、こちらの受信サーバに問題があるのではないかと、非常に気になります。 どの質問を見ても、「インターネットとはそういうものなのです」のような回答が多いのですが、ルーティングに時間がかかる具体的に考えられる理由を教えていただけませんか。 また、参考になる本とかURLとか知りませんか。 よろしくお願い致します。

  • 受信されたメールをWEB上で公開するには?

    こちらの環境についてですが、レンタルサーバを利用しています。 独自ドメインで運用しており、またメールアカウントは自由に作成する事ができます。 FTPからアカウント毎に、受信したメールが記載されているファイルアクセスする事ができます。 またメーラーで受信しなくても、パソコン上にダウンロードする事もできます。 また受信数に関わらず、1つのファイルに受信されたメールが次々に書き込めれて行くような形式です。 やりたい事は、受信したメールをWEB上に自動的に公開するようにしたいです。 公開の形式は、メールのタイトル毎や、日にちごとに一覧表示されると言った感じです。 携帯で投稿できるブログもあるようですが、これはメールで投稿する際に、メール本文に特定のコマンドを打込む必要がありますよね。 メールでの投稿は、不特定多数がメール送信するようになりますので、本文に特定のコマンドを入力する必要無く、メールを送信すれば投稿できる、と言った感じにしたいと思っています。 いろいろと探してはみましたが、このようなCGIやPHPは良く分かりませんでした。 特定のコマンドを入力する事なく、メールで投稿する事ができ、また受信されたメールの本文を自動的にWEB上に公開できるようにしたいです。 また受信された投稿内容を全て表示するのではなく、メールタイトルごとや日時毎にわけられており、それらをクリックして本文を読む感じにしたいです。 できればレンタルではなく、自分でサーバに設置できるようなプログラムを探しています。 この説明で上手く伝わっているか分かりませんが、不足している情報を指摘されれば追加致します。 お手数をおかけしますが、アドバイスを頂けると助かります。 よろしくお願いします。

    • ベストアンサー
    • Perl
  • メールが受信できません

    メールが受信できません レンタルサーバーを契約し、独自ドメインを取得してメールの設定をしたのですが、メールの送信は出来ますが受信が出来ません。 ファイヤーウォールは切っています。 レンタルサーバーが提供しているウェブメールでも受信が出来ないので、原因がさっぱり分かりません。相手にエラーも届きません。 どのような事が考えられるでしょうか?

  • メール受信時にパイプしてPerlプログラム起動したい(FreeBSD sendmail)

    FreeBSDのサーバで、メールを受信した際にその内容をパイプして、標準入力でPerlプログラムにパイプさせてWebサイトに反映させるという処理をしたいと思っております。 ただ、Perl以前の問題でつまずいています。 メール受信時に、/etc/mail/alias を編集し、 アカウント "| /path/proguram.pl" と設定しました。同様の設定でメールの転送はできているので、書式は間違っていないかと思います。 このプログラムを指定したとき、このメールアドレスにメールを送信すると、以下のエラーが出ます。 ----- The following addresses had permanent fatal errors ----- "| /home/****/www/cgi-bin/test.pl" (reason: 126) (expanded from: <****@**.**>) ----- Transcript of session follows ----- /home/****/www/cgi-bin/test.pl: Permission denied 554 5.3.0 unknown mailer error 126 サーバ会社へ問い合わせたところ、プログラムを起動しに行くmailnullというユーザ(?)の権限の問題だそうです。 mailnullというユーザにプログラムを起動するだけの権限を与えるにはどうしたらよいでしょうか? それとも、ほかの方法がありますでしょうか? よろしくお願いします。

  • Postmailの使用でメール受信がされません

    素人ですがどうぞよろしくお願いいたします。 KENTwebさん提供のフォームメールCGI(Postmail)を利用して、アンケートページを作成したいと考え、CGIの設置を行ったのですが指定したメールアドレスへの返信ができず困っています。 *KENTwebさん→http://www.kent-web.com/data/postmail.html 私が実行した手順の概要を示させていただきますと、 (1)CGI、sendmail可のレンタルサーバにKENTwebさんのページに記載してある要領に沿ってPostmailを設置しました。KENTwebさんのページのにあるように、postmail.cgi?mode=checkを末尾につけたチェックモードにて、全ての項目でOKが表示されましたので、CGIの設置は成功したのではと考えています。 *具体的に行った事としては、Perlのパス、sendmailのパスをサーバー指定にし、$mailto = "xxx@xxx.xxx"の部分を自分のメールアドレスに置き換えただけの措置です。 (2)次に、試しにサンプル(?)として同梱されているpostmail.htmlにて、 入力結果が指定のメールアドレスに送信されるかを試してみました。 postmail.htmlはこのようなページです→ http://www.kent-web.com/data/postmail/index.html 実際にレンタルサーバに自分でアップロードしたページにて、「送信する」をクリックしますと、「以下の内容でよろしければ送信ボタンを押して下さい。上記内容で送信」⇒「ありがとうございます。送信は正常に完了しました。」と表示されるにもかかわらず、結果が届きません。 (postmail.cgiの107行目の$mailto = "xxx@xxx.xxx";にてメール宛先を指定しているのですが受信ができません。) このような場合、どのような原因が考えられますでしょうか? FAQ等を見てみましたが該当が無いようでしたので、ご存知の方、どうぞよろしくお願いいたします。

    • ベストアンサー
    • CGI
このQ&Aのポイント
  • 私は派遣社員として働いているIT企業で、在宅勤務の一環として会社のPCを自宅で使用しています。しかし、先日自宅のPCが故障したため、会社のPCに自分のUSBを差し込んでしまいました。この行動は会社の就業規則に違反しており、またウイルスの感染の可能性もあるため、とても心配しています。
  • 会社の就業規則の動画を見ている際に、USBの使用が禁止されていることを知りました。個人のUSBからウイルスが入る可能性もあるため、申請なしで使用することはできません。また、ログも辿れるため、自分がUSBを差し込んだことはバレてしまうでしょう。派遣社員である私の立場から考えると、契約を切られる可能性もあるかもしれません。
  • 私は無知であったため、USBを差し込んだことについて自ら告白すべきか悩んでいます。現段階では特に呼び出しがないため、バレていない可能性もあります。しかし、このまま隠し通すことはできず、自分の行動に責任を持つべきだとも考えています。中立な立場から見ると、自己申告して事実を認めるべきかもしれません。
回答を見る

専門家に質問してみよう