プロが教える店舗&オフィスのセキュリティ対策術

sendmailで複数の宛先にメールするにはどのような記述にすればいいですか?

print(MAIL "To: info\@goo.ne.jp, admin\@goo.ne.jp\r\n");

とかって書けばいいんでしょうか?うまくうごかないのですが・・・。

よろしくお願いいたします。

A 回答 (3件)

カンマ区切りは正しそうですが、


カンマの後に、空白を入れないで試したらどうですか

「参考」URL:
http://www3.ocn.ne.jp/~koshino/sendmail.html
    • good
    • 0
この回答へのお礼

inoue64さん、slackwareさん、Head_Syndicateさん
みなさん、大変早いアドバイスありがとうございました。

カンマで区切ったあとのスペースをはずしてみたところ
たしかにメールが送られてきました。

たったひとつのスペースなんですが、動かないものですね。
本当にありがとうございました!!

お礼日時:2001/05/19 14:01

プログラムの前後が記述されていないので、外しているかもしれませんが.


アドレスを一つだけ書いた場合は、正常に送信できるのですか?

私は、

-->
#!/usr/bin/perl

open(MAIL, "|/usr/sbin/sendmail -t");
print MAIL "From: hoge@dokokano.domain\r\n";
print MAIL "Subject: Perl de mail\r\n";
print MAIL "To: xx@sokorano.domain, yy@kokono.domain\r\n";
print MAIL "\r\n";
print MAIL "Perl de mail\r\n";
close(MAIL);

exit;
<--

というような記述をして複数の宛て先にメールを送信できました.
    • good
    • 0

もしそのsendmailが実際にはqmailであった場合(プロバイダによっては


そうしているところも多いでしょう)、
カンマを取って半角スペースひとつに置き換えてみてください。

qmailで偽装したsendmailは大体オリジナルと互換なのですが
いくつか注意するところがあります。親切なプロバイダなら
そのあたりをどこかで解説してあるかもしれませんから、探して
みてください。

あと、
print(MAIL "To: info\@goo.ne.jp\r\n");
print(MAIL "To: admin\@goo.ne.jp\r\n");
とする方法もあると思います(手元に実験環境がないので試して
いませんが)。これがうまくいくなら、カンマ、スペース
に関わらず使えるのでより汎用性が高いスクリプトとなると
思います。

それでもダメだったら…Sendmail.pmやらSocketを直接叩くに至る
まで、メール送信のためのモジュールはいくつかありますので
そちらを使うことも検討してもいいかもしれません。sendmailを
使うことだけが唯一の手段ではありませんので。
    • good
    • 0

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