• ベストアンサー

サーバー内のテキストデータを拾って、メール送信するスクリプト

こんにちは、変動する表の作成スクリプトでは、callhiroさん、danyさんに多大なるご協力をいただきありがとうございました。 それで、また別件ですが、サーバー内にあるテキストファイルを読み取ってメール送信する方法をしりたいのですが、今回から質問を細切れにして、ひとつ解決したら締め切ることにいたします。

  • hooma
  • お礼率32% (51/157)
  • Perl
  • 回答数4
  • ありがとう数1

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

  • ベストアンサー
  • syg
  • ベストアンサー率54% (6/11)
回答No.3

参考URLなんかいいんじゃないかと。 sendmail使うなら &jcode::convert(\$sub,'jis'); &jcode::convert(\$msg,'jis'); if( open( MAIL,"| $sendmail $mailto -t")) { print MAIL "X-Mailer: $mailer\n"; print MAIL $etc if $etc; print MAIL "To: $to\n"; print MAIL "From: $from\n"; print MAIL "Subject: $sub\n"; print MAIL "Content-Transfer-Encoding: 7bit\n"; print MAIL "Content-type: text/plain\n\n"; print MAIL "$msg\n"; close( MAIL ); }else{ return "!!ERROR!!"; } とか。ちなみに $text = <IN>; だと最初の一行しか読まないので $text = join( '',<IN> ); にするといいです。 jcodeについてはこのへんが。必見です。 http://www.mikeneko.ne.jp/~lab/kcode/jcode.html

参考URL:
http://member.nifty.ne.jp/hippo2000/perltips/perlmail.htm
hooma
質問者

お礼

ありがとうございました。 この質問に関しては、よくわかりました。 どうやら、CGIだけでは自動的にメールを送信できないみたいですね。 また、何かありましたらお願いいたします。

その他の回答 (3)

  • callhiro
  • ベストアンサー率35% (54/152)
回答No.4

どうもこんにちは。 今回の質問ですが、みなさんの教えてくださってる方法で良いかと思います。 アドバイスですが、 CGIの本を参考にするのも当然良いですが やりたいことを実現しているフリーのスクリプトを分析したり、 複数の優良なCGIスクリプトをうまく組み合わせて オリジナルのものを作ると言うことも有効だと思いますので、 是非参考にしてください。 ではでは。

  • cocky
  • ベストアンサー率57% (232/402)
回答No.2

一つ補足。 「print OUT <<EOM;」のところは文末にセミコロン付け忘れてたので、もし動かす際は付けといて下さい。

  • cocky
  • ベストアンサー率57% (232/402)
回答No.1

sendmailが使えるサーバであれば、単純にテキストファイルをメール送信するだけなら、対象となるファイルを適当な変数に読み込んで、ヘッダ付けてsendmailに流し込めば済むと思いますが。 メールヘッダの書式についてはRFC822を読まれた方がいいでしょう。(メール題名にASCII以外の文字を使うんならRFC2047も必要) 試しに書くとすればこんな感じですかねぇ。(エラートラップ等は省略してます) open( IN, "< [ファイル名]" ); $text = <IN>; close( IN ); open( OUT, "| /usr/sbin/sendmail" ); print OUT <<EOM From: [発信元のアドレス] To: [宛先] Subject: [題名] $text . EOM close( OUT );

hooma
質問者

補足

素朴な疑問ですが、お答えいただいたスクリプトはどういうきっかけで、作動しますか。 また、時間指定をして予約送信するにはどうしたらいいでしょうか。

関連するQ&A

  • 複数のテキストファイルを簡単にメール送信したい

    HDD内の50個ほどある連番のテキストファイルを自分のメールアドレスに送信したいです。 やりたいことは下のアドレスのものでほとんどよいのですが、この方法だと添付ファイルとして送信されてしまうのですが、テキストファイルの内容を本文にしたいのです(できればファイル名を件名に)。 いい方法があれば教えてください。 よろしくお願いします。 ITmedia Biz.ID:「自分へのメール」を自動化するスクリプトで簡単バックアップ http://www.itmedia.co.jp/bizid/articles/0607/04/news019.html

  • メルアドを載せないメール送信フォームをJAVAスクリプトで作れませんか

    メルアドを載せないメール送信フォームをJAVAスクリプトで作れませんか? ホームページにメルアドを載せるとジャンクメールが来るし、CGIもつくれないので、解決方法を探しています。 メルアドを載せないメール送信フォームをJAVAスクリプトで作ることはできるのでしょうか?

  • JAVA SCRIPTフォームメール複数送信がしたいのですが・・・

    JAVASCRIPTで「お問い合わせ」フォームを作成しました。 送信で指定されたメールアドレスへ送信できるのですが、できれば同時に2人に送信できるようにしたいのです・・・がJAVA SCRIPTでは可能なのでしょうか? もし、可能であるならばその方法を教えて頂けないでしょうか? ※私のHP作成レベルは初心者です。 JAVA SCRIPTフォームメールは、フリーソースを提供して頂けるサイトからコピー&ペーストし、こちらで修正し作成しました。

  • 指定時刻に携帯メールへ送信するスクリプトはできますか?

    PHPを勉強し始めまして、メールの送信はできるようになったのですが、「指定時刻に」送信する方法が分かりません。 shellスクリプトというもので時間指定ができると聞きまして、調べたのですが、Linuxのスクリプトとのことで、使えないようです。 (1)PHPのみで あるいは (2)PHPと他の言語をあわせてwindowsサーバー上で 動作する「指定時刻に送信する」スクリプトを教えていただけますでしょうか。 方向性、概念だけでも結構です。 宜しくお願い致します。

  • Outlook Express でテキストメール送信

    Outlook Express を使ってメール送受信を行っております。 OSはxpです テキストメールを送信したい相手には連絡先のプロパティで テキストの電子メールメッセージだけを送信するにチェックを入れています。 その場合大抵の人には送信時にHTMLで送信か?テキストで送信かの確認の窓が開いて テキストで送信しています。 ただ何件かはプロパティのところでチェックを入れているにも係わらず 確認の窓も開かずにHTMLメールが送信されてしまいます。 その現象が起きる送信者は決まっています。 それでその人にメールを送信するときはツールからオプション、送信 メール送信の形式でテキスト形式にチェックして送信して 終えたら元に戻すとやっていますが 大変不便です。 なにか解決方法はないでしょうか? よろしくお願いします。

  • メールの送信が突然出来なくなった

    つい先日までメールの送受信が出来たのですが、 昨日あたりから送信のみ出来なくなりました。 メーラーはBecky Ver.2です。 Jnaviでドメインを作成して、メールアドレスを作成しました。 プロバイダはso-netです。 今までの設定状況ですが、 POP3サーバー(受信):【POP. + Jnaviで作成したドメイン】 SMTPサーバー(送信):【mail.[サブドメイン].so-net.ne.jp】 サーバーのポート番号 SMTP:25 POP3:110 IMAP4:143 と設定していました。 特別設定をいじったわけでもないのですが、 突然、メールが送信できなくなりました。 サーバーのポート番号を587へ変更してみたりしたのですが、 『メールサーバーへの接続に失敗しました。』 とメッセージが出て送信できません。 どなたか同じような状況の方で解決方法をご存知の方 いらっしゃいましたら、教えてください。

  • メールが送信できません。

    MicroSoft Office OutLook を使用しています。 昨日、252MBのファイルを添付してメールを送信しようとしましたが、一晩放置しても送信できません。 どうやらサーバ側で拒否しているみたいです。 削除しようとしても、「送信中です」ということで、はじかれてしまいます。 後から作成したメールも待機中で、送信できません。フンづまり状態です。 とりあえずは、大きなファイルを添付したメールを削除したいのですが、どなたかその方法を教えて下さい。

  • ASPでメール送信時にパスワード付のpdf

    ASPでメール送信時にパスワード付のpdfファイルを添付する方法はありませんでしょうか? ASPでホームページを作っています。 BASP21でメール送信をしていますが、閲覧者の入力により、PDFファイルを作成し、そのPDFファイルにパスワードを付けて添付ファイルとして送信したいのですが、方法は有りますでしょうか? ASPでPDFファイルを作成する方法はネットで見つけたのですが、パスワードを付ける方法が分りません。 有料、無料に関わらず解決方法がありましたら、教えてください、お願いいたします。 サーバー:WINDOWS 2003 R2 IIS: 6.0 DB: SQL SERVER 2005

  • ファイルメーカーのスクリプト作成(Windows版)

    はじめまして。 Windows版ファイルメーカー Pro 5.5にて関してお伺いします。 ファイルメーカーのスクリプトを、テキストエディタなどで 直接編集することは可能でしょうか? 作成したいのはメールを送信するスクリプトで、 ファイルメーカー上からの操作により、送信先やCCなどが 指定された状態でWindows規定のメーラーの新規メール作成 ウィンドウが立ち上がるところまではできました。 ただ、メール本文に挿入するテキストをもう少し細かく 設定したい(固定文の中にフィールド値を一部挿入する など)ということと、出来ればWindows規定のメーラー (Outlook)ではなく、秀丸メールから送信させたいため、 そのあたりをカスタマイズする方法を探っております。 こうしたスクリプトのカスタマイズ方法について ご存知の方がいらっしゃいましたら、ぜひご指南下さい。 宜しくお願い申し上げます。

  • エクセル メール 送信方法

    説明不足でしたので、A4サイズの文書を3月に作成、Yahoo!メールで送信(この時は問題なくスムーズに送信) 今回、同様の文書の内容をほんの少し変更して、保存後、再度開き、「保存・送信」「添付ファイルとして送信」をクリックすると、 「プロファイルを作成する必要があります。(コントロールパネル)で(メール)を開き、(プロファイルの表示)をクリックして(追加)をクリックします」 と指示が出ますが、Windouws8のコントロールパネルを開いてもどこから入れば、「メール」にたどり着くのか、わかりません。  早急に解決しなければ、いけないのでどなたか、ご協力よろしくお願いいたします。   

専門家に質問してみよう