• ベストアンサー

メールマガジンで「○○さんこんにちは」という文章を入れる方法

最近メールマガジンで「○○さんこんにちは!」と、○○の所に自分の登録した名前が入ってくるものがあります。 アウトルックエクスプレスとエクセルを使用して送信する方法は知っているのですが、この方法ではなくCGIを使用しているのではないかと思うのですが、こういった機能を持つCGIスクリプトはフリー、もしくはシェアで存在するのでしょうか?自分の知っているサイトを探しましたがそれらしい説明のあるメールマガジンのスクリプトはありませんでした。もし、CGIスクリプトが存在するのであればその所在を知りたいです。 ご存知の方いらっしゃいましたらよろしくお願い致します。

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

  • ベストアンサー
  • lucky111
  • ベストアンサー率30% (75/244)
回答No.3

昔作ったものを添付します。(こんなもの添付していいものか…) 前回と同じように名前とメールが、カンマ区切りになっています。 trans.txtにメールの本文が来ます。1行目がタイトルになります。 メールの本文でもう少しいいヘッダーができると思いますが、とりあえずはこんなもので。(実際のメールのヘッダで研究してみてください。) ちなみにtelenetで実行して下さい。 sendmailのパスは、telnetで「which sendmail」と入力すると出ます。 一応、付け加えますが、こういうプログラムでスパムメールなどは送らないようにして下さいね。(^^; #!/usr/bin/perl $\ = "\n"; require 'jcode.pl'; $sendmail = 'sendmailのパス'; $myaddress = 'あなたのメールアドレス'; if(!open(FP,'mail.txt')) {print 'ファイルがみつかりません。'; exit(0);} @lines = <FP>; close(FP); if(!open(FP,'trans.txt')) {print 'ファイルがみつかりません。'; exit(0);} @trans = <FP>; close(FP); $subject = $trans[0]; $subject =~ s/\n//; splice(@trans, 0 ,1); $trans = join('', @trans); $my_name = 'あなたの名前'; foreach (@lines) { chop; ($name, $mail) = split(/,/); $message =<<MESSAGE; To: ($mail) From: ($my_name) Subject: $subject Reply-To: $myaddress $name様 $trans MESSAGE &jcode'convert(*message,'jis'); open(MAIL,"|$sendmail $mail"); print MAIL $message; close(MAIL); print $_; } $sum = scalar(@lines); print "$sum通送信しました"; exit(0);

その他の回答 (2)

  • lucky111
  • ベストアンサー率30% (75/244)
回答No.2

こんにちは。返答がだいぶ遅れてすいませんでした。(^^; 補足要求メールが来てたのに、消しちゃってたかも知れません。 サイトの紹介ありがとうございました。今度じっくり読んでみます。 自動的に一通一通送るやり方ですが、わたしはこんな感じでやってます。 例えば、a.datに A,a@aaa.com B,b@bbb.com というように名前とメールアドレスが、カンマ区切りで入っていたら、 open(FP, 'a.dat'); @data = <FP>; close(FP); foreach(@data) {  ($name, $mail) = split(/,/);←カンマ区切り ・・・ } という感じで、名前とメールに分けて、メールを送ります。 もし、メールを送る文などわからなければ、補足してください。

h_chikugo
質問者

補足

なんとなくフリーのcgiスクリプトを眺めています(^^; 勉強はしようと思っているのですが、cgiの設置程度しかやった事がないので、なんとなく意味を理解した程度です(^^; やはりメールを送る文の部分も教えてもらっていいでしょうか? 本当はcgiのプログラム全文を教えてもらいたい所なのですが、それはあまりにもご迷惑なので、参考書を片手にチャレンジしてみたいと思います(^^; ご迷惑でなければ、うまくいくまでご連絡を取りたいと思いますので、しばらくこのまま未解決のままでいてよろしいでしょうか(^^; ではよろしくお願いします。

  • lucky111
  • ベストアンサー率30% (75/244)
回答No.1

こんにちは。 回答とは言えないのですが、 >アウトルックエクスプレスとエクセルを使用して送信する方法は知っているのですが の方法が知りたいです。よろしければ、教えて下さい。 >CGIを使用しているのではないか 自動的に一通一通送るやり方であれば、やったことあります。 単純に、メールを送る操作を繰り返し文で、繰り替えすだけです。(^^; 興味があれば、補足要求してください。

h_chikugo
質問者

お礼

ご回答ありがとうございます(^^) アウトルック等を使用するやり方は以下のサイトで知りました。 http://prius.hitachi.co.jp/go/yy/sinkan/okadasan/part108/108-2.htm どうやらワードも必要でした(^^;

h_chikugo
質問者

補足

>自動的に一通一通送るやり方であれば、やったことあります。 興味があります。教えて頂ければ幸いです(^^)

関連するQ&A