Centos5(utf8)のperl でメール送信の関数プログラムを作
Centos5(utf8)のperl でメール送信の関数プログラムを作成しています。
bccにもメールを送信したいのですが、呼び出される度にbccのメールアドレスの数が異なります。以下はテスト的に作った動くサンプルです。
#!/usr/bin/perl
use Net::SMTP;
use Encode;
use strict;
1 my $ServerName = 'mail.server.jp';
2 my $from = 'from@mailaddress';
3 my $to = 'to@mail.address';
4 my $bcc = 'bcc0@mail.address';
5 my $anotherbcc = 'bcc1@mail.address';
6 my $onemorebcc = 'bcc2@mail.address';
7 my $smtp = Net::SMTP->new($ServerName, Debug => 0);
8 $smtp->mail($from);
9 $smtp->to($to);
10 $smtp->bcc($bcc, $anotherbcc, $onemorebcc);
11 # to ( ADDRESS [, ADDRESS [...]] )
12 # cc ( ADDRESS [, ADDRESS [...]] )
13 # bcc ( ADDRESS [, ADDRESS [...]] )
14 $smtp->data();
15 $smtp->datasend("From: $from\n");
16 $smtp->datasend("To: $to\n");
17 my $SUBJECT = "日本語タイトル";
18 my $body = "日本語本文\n";
19 Encode::from_to($SUBJECT, "utf8", "iso-2022-jp");
20 Encode::from_to($body, "utf8", "iso-2022-jp");
21 $smtp->datasend("Subject: ".$SUBJECT."\n");
22 $smtp->datasend("MIME-Version: 1.0\n");
23 $smtp->datasend("Content-Type: text/html; charset=iso-2022-jp\n");
24 $smtp->datasend("\n");
25 $smtp->datasend($body);
26 $smtp->dataend();
27 $smtp->quit;
10行目の通り、メールアドレスを羅列して渡すとメールは配信されます。
メールアドレスを配列渡し( @bccarray=('bcc0@mail.address', ・・・); で@bccarrayを渡す)と配信されません。
これを関数化し、bccアドレスの数を可変にしたいのですが良い方法はないでしょうか?
よろしくお願いします。