- ベストアンサー
sendmailで複数の宛先にメールする方法
sendmailで複数の宛先にメールするにはどのような記述にすればいいですか? print(MAIL "To: info\@goo.ne.jp, admin\@goo.ne.jp\r\n"); とかって書けばいいんでしょうか?うまくうごかないのですが・・・。 よろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
カンマ区切りは正しそうですが、 カンマの後に、空白を入れないで試したらどうですか 「参考」URL: http://www3.ocn.ne.jp/~koshino/sendmail.html
その他の回答 (2)
- Head_Syndicate
- ベストアンサー率64% (73/113)
もしその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)
プログラムの前後が記述されていないので、外しているかもしれませんが. アドレスを一つだけ書いた場合は、正常に送信できるのですか? 私は、 --> #!/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; <-- というような記述をして複数の宛て先にメールを送信できました.
お礼
inoue64さん、slackwareさん、Head_Syndicateさん みなさん、大変早いアドバイスありがとうございました。 カンマで区切ったあとのスペースをはずしてみたところ たしかにメールが送られてきました。 たったひとつのスペースなんですが、動かないものですね。 本当にありがとうございました!!