sendmailでの複数の宛先への送信がうまくいきません。
[上に]
[前に]
[次に]
みえ
2000/01/24(月) 16:15:48
sendmailでメールを送信するCGIを作りましたが、
うまく動きません。
なぜだよくわからないので、どなたか助けていただけないでしょうか?
よろしくお願いいたします。
#!/usr/local/bin/perl
$sendmail = '/usr/lib/sendmail';
require 'jcode.pl';
#ここからメールの中身です。
$message = <<END_OF_MESSAGE;
Subject: TEST
Reply-to: test@test.co.jp
メールの中身
END_OF_MESSAGE
#上のメッセージの内容をJISに直します。
&jcode'convert(*message,'jis');
foreach @mailto('mail@test.co.jp','mail2@test.co.jp'5人分のメールアドレス){
open(MAIL,"|$sendmail $mailto[0-4]");
print MAIL $message;
close(MAIL);
}
#表示されるHTMLです。
print"Content-type\: text\/html\n\n";
print <<ABC;
<HTML>
<HEAD>
<TITLE>メール送信完了</TITLE>
</HEAD>
</HTML>
ABC
\n
2000/01/24(月) 17:41:35
詳しく検証してないですが・・・
まず、どういうエラーなりが出て動かないのかを書いた方がいいですよ
「これを実行したら××になります」の様に
ちょっと見ただけだけど。
1.メールヘッダーと本文を改行のみで分離していない
2.Subjectをエンコードしていない
sendmailで検索すると沢山ヒントが見つかるはず・・・
忠告男
2000/01/24(月) 18:07:00
foreach @mailto('mail@test.co.jp','mail2@test.co.jp'5人分のメールアドレス){
open(MAIL,"|$sendmail $mailto[0-4]");
↓
foreach $mailto('mail@test.co.jp','mail2@test.co.jp'5人分のメールアドレス){
open(MAIL,"|$sendmail $mailto");
では?
ラウォッチ
2000/01/24(月) 18:49:08
foreachでまわさないで、$sendmail一回でいけますよ。
ただし、$mailtoはこんな感じの文字列。
$mailto = 'mail@test.co.jp,mail2@test.co.jp';
open(MAIL,"|$sendmail $mailto");
print MAIL $message;
close(MAIL);
みえ
2000/01/25(火) 12:17:23
[[解決]]
>foreach $mailto('mail@test.co.jp','mail2@test.co.jp'5人分>のメールアドレス){
>open(MAIL,"|$sendmail $mailto");
これでうまくいきました。ありがとうございました。
ただ、やってみたところIE5.0ではあんまり長すぎる
文章だと、受信メールでは文章の途中から表示されなくなって
しましました。
でもNN4.7だと長い文章でも大丈夫でした。
ラウォッチさんへ
アドバイスありがとうございました。
今回は一つ一つを中身はいっしょながら独立したメールで
送りたかったので忠告男さんの方法がよかったようです。
TOのところに全員のアドレスが表示されたメールを
送る際には、ぜひ参考にさせていただきます。
みなさんどうもありがとうございました。
[上に]
[前に]
[次に]