こんにちは、変動する表の作成スクリプトでは、callhiroさん、danyさんに多大なるご協力をいただきありがとうございました。

それで、また別件ですが、サーバー内にあるテキストファイルを読み取ってメール送信する方法をしりたいのですが、今回から質問を細切れにして、ひとつ解決したら締め切ることにいたします。

このQ&Aに関連する最新のQ&A

A 回答 (4件)

参考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/per …
    • good
    • 0
この回答へのお礼

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

この質問に関しては、よくわかりました。

どうやら、CGIだけでは自動的にメールを送信できないみたいですね。
また、何かありましたらお願いいたします。

お礼日時:2001/05/03 19:51

どうもこんにちは。



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

ではでは。
    • good
    • 0

一つ補足。


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

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 );

この回答への補足

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

補足日時:2001/05/02 20:53
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング