質問: Net::SMTP->new('mailhost'); $smtp->mail($ENV{USER}); $smtp->to('postmaster'); $smtp->data(); $smtp->datasend("To: postmaster\n"); $smtp->datasend("\n"); $smtp->datasend("A simple test message\n"); $smtp->dataend(); $smtp->quit;
回答: あなたが指定したメールサーバは認証が必要なサーバなのでしょうか? 認証が無い場合は auth は必要ではありません。 > $smtp->mail($ENV{USER}); $ENV{USER} には正しいメールアドレスが設定されているのでしょうか? ここにあなたのメールアドレスを設定しても送信できませんか? 多分ここでエラーになっているんじゃないかと思います。 $smtp->mail('あなたのメールアドレス'); としてテストしてみてください。 > 「SMTPサーバ名さえわかれば誰でもそのSMTPサーバからメールできちゃう」ってことになりませんか?? SPAM 対策をしていなければそういうことが出来ちゃいます。 POP before SMTP とか SMTP auth とか relay を禁止とか設定されていると思いますので そのようなことは出来ないようになっていると思います。