• ベストアンサー

sendmailで複数の宛先にメールする方法

sendmailで複数の宛先にメールするにはどのような記述にすればいいですか? print(MAIL "To: info\@goo.ne.jp, admin\@goo.ne.jp\r\n"); とかって書けばいいんでしょうか?うまくうごかないのですが・・・。 よろしくお願いいたします。

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

  • ベストアンサー
  • inoue64
  • ベストアンサー率29% (334/1115)
回答No.1

カンマ区切りは正しそうですが、 カンマの後に、空白を入れないで試したらどうですか 「参考」URL: http://www3.ocn.ne.jp/~koshino/sendmail.html

katsudon
質問者

お礼

inoue64さん、slackwareさん、Head_Syndicateさん みなさん、大変早いアドバイスありがとうございました。 カンマで区切ったあとのスペースをはずしてみたところ たしかにメールが送られてきました。 たったひとつのスペースなんですが、動かないものですね。 本当にありがとうございました!!

その他の回答 (2)

回答No.3

もしその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を 使うことだけが唯一の手段ではありませんので。

  • slackware
  • ベストアンサー率59% (22/37)
回答No.2

プログラムの前後が記述されていないので、外しているかもしれませんが. アドレスを一つだけ書いた場合は、正常に送信できるのですか? 私は、 --> #!/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; <-- というような記述をして複数の宛て先にメールを送信できました.

関連するQ&A