すみません。質問があります。
ActivePerl 5.6.0.620でSMTPプロトコルで
メール送信したいのです。
が「TO」に複数のアドレスを指定すると
エラーメールが返ってきます。
(「TO」に1つのみ設定した場合は
OKなんですが)
誰かアドバイスをご教授下さい。

-----以下ソースの一部分
data{'To'} = 'b@aaa.co.jp , c@aaa.co.jp , d@aaa.co.jp';
$server->to($data{'To'});

-----以下エラーメール-----
----- The following addresses had permanent fatal errors -----
<b@aaa.co.jp,c@aaa.co.jp,d@aaa.co.jp>

----- Transcript of session follows -----
... while talking to mta.excite.com.:
>>> RCPT
o:<b@aaa.co.jp,c@aaa.co.jp,d@aaa.co.jp>
<<< 553 Invalid address syntax
550
b@aaa.co.jp,c@aaa.co.jp,d@aaa.co.jp>...
ser unknown

このQ&Aに関連する最新のQ&A

A 回答 (4件)

確かSMTPのRCPTでは同時に1つのアドレスしか指定できなかったと思います。


自前で分解してRCPTを連発する必要がありますね。

参考URLはSMTPのRFC日本語版です。

参考URL:http://www.geocities.co.jp/SiliconValley-PaloAlt …
    • good
    • 0
この回答へのお礼

アドバイスありがとうございました。
1件1件送付することにします。
ありがとうございました。

お礼日時:-0001/11/30 00:00

自己レスです。


>で、@userの個数分、それに相当するメールアドレスを
@usersの個数分ですね。
失礼しました。
    • good
    • 0

data{'To'}で拾ったデータをsplitして、


それぞれを<>でくくれば大丈夫なはず。

確かSMTPサーバは、<>で囲まれた情報を
一つのメールアドレスだと解釈するはず。

従って、a@ne.jp、b@com、c@eduに送る
場合、<a@ne.jp>, <b@com>, <c@edu>と
する必要があったはずです。

だめなときは補足してください。
ではでは☆

この回答への補足

アドバイスありがとうございました。
試してみましたがダメでした。

補足日時:2000/12/04 10:50
    • good
    • 0

ActivePerlは使ったことはないのですが、


data{'To'}内の文字列を","の部分でsplitしてひとつづつおくるというのはどうでしょう?
@users = split(/,/,data{'To'})
で、@userの個数分、それに相当するメールアドレスを
foreach $user (@users)
{
$server->to($user)
......
......
}
とかってできませんでしょうか?
あんまりスマートではないかもしれません。
だめでしょうか?
    • good
    • 0
この回答へのお礼

早速のアドバイスありがとうございます。
最終的にはその手しかないと考えてます。
でも一挙に送信できたらなぁ...って思ってます。

お礼日時:-0001/11/30 00:00

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QPerlからメール送信で文字化け

Perl5.8からsendmailを使ってメール送信しています。
髙や﨑が入ると文字化けします。文字化けしないようにする方法を教えてください。



#!/usr/bin/perl
require 'jcode.pl';
require 'mimew.pl';
$sendmail = '/usr/lib/sendmail';

print"Content-type: text/html\n\n test\n";

if (!(open(OUT,"| $sendmail -t -i -f xxxx\@hogehoge.co.jp"))) { ; }

print OUT "To: xxxx\@hogehoge.co.jp\n";
print OUT "From: xxxx\@hogehoge.co.jp\n";
print OUT "Reply-To: xxxx\@hogehoge.co.jp\n";

$subject = "サブジェクト 髙﨑";
$subject = &mimeencode($mail_subject);
print OUT "Subject: $mail_subject\n";

print OUT "Mime-version: 1.0\n";
print OUT "Content-Type: text/plain\; charset=\"ISO-2022-JP\"\n";
print OUT "Content-Transfer-Encoding: 7bit\n\n";

$honbun = "メール本文 髙﨑";
&jcode'convert(*honbun, 'jis');
print OUT "$honbun\n";

close(OUT);

Perl5.8からsendmailを使ってメール送信しています。
髙や﨑が入ると文字化けします。文字化けしないようにする方法を教えてください。



#!/usr/bin/perl
require 'jcode.pl';
require 'mimew.pl';
$sendmail = '/usr/lib/sendmail';

print"Content-type: text/html\n\n test\n";

if (!(open(OUT,"| $sendmail -t -i -f xxxx\@hogehoge.co.jp"))) { ; }

print OUT "To: xxxx\@hogehoge.co.jp\n";
print OUT "From: xxxx\@hogehoge.co.jp\n";
print OUT "Reply-To: xxxx\@hogehoge.co.jp\n";

$subject = "サ...続きを読む

Aベストアンサー

根本的には perl の問題ではありません。
「髙」や「﨑」といった文字は、JIS(ISO-2022-JP)では規定されていないため、
ISO-2022-JPのメールに入れることはできないのです。

文字コードがUnicodeであれば、「髙」や「﨑」を表現できますので、

・perlのスクリプトを、Unicode(UTF-8)で記述するようにする
・メールのcharset を UTF-8で送信するようにする
・文字コードの変換を、perl4時代の古いライブラリ(Unicode非対応)である「mimew.pl」や「jcode.pl」ではなく、perl5世代の「Encode.pm」を使う

という対応になるかと思います。

---ここから---
#!/usr/bin/perl
use strict;
use utf8;

use Encode;

my $sendmail = '/usr/lib/sendmail';

print "Content-type: text/html\n\n test\n";

my $out;
if (!(open($out,"| $sendmail -t -i -f xxxx\@hogehoge.co.jp"))) { ; }

print $out "To: xxxx\@hogehoge.co.jp\n";
print $out "From: xxxx\@hogehoge.co.jp\n";
print $out "Reply-To: xxxx\@hogehoge.co.jp\n";

my $mail_subject = "サブジェクト 髙﨑";
$mail_subject = encode('MIME-Header', $mail_subject);
print $out "Subject: $mail_subject\n";

print $out "Mime-version: 1.0\n";
print $out "Content-Type: text/plain\; charset=\"UTF-8\"\n";
print $out "Content-Transfer-Encoding: 8bit\n\n";

my $honbun = "メール本文 髙﨑";
$honbun = encode("UTF-8", $honbun);
print $out "$honbun\n";

close($out);
---ここまで---

といった形でしょうか。

ただし、最近はまず大丈夫だと思いますが、
「日本語のメール」としては、ISO-2022-JPで送るのが主流であり、UTF-8で送った場合にはメールソフトによっては問題が出るかもしれないことは覚悟する必要があるかと思います。

根本的には perl の問題ではありません。
「髙」や「﨑」といった文字は、JIS(ISO-2022-JP)では規定されていないため、
ISO-2022-JPのメールに入れることはできないのです。

文字コードがUnicodeであれば、「髙」や「﨑」を表現できますので、

・perlのスクリプトを、Unicode(UTF-8)で記述するようにする
・メールのcharset を UTF-8で送信するようにする
・文字コードの変換を、perl4時代の古いライブラリ(Unicode非対応)である「mimew.pl」や「jcode.pl」ではなく、perl5世代の「Encode.pm」を使う

という対...続きを読む


人気Q&Aランキング

おすすめ情報