アプリ版:「スタンプのみでお礼する」機能のリリースについて

おねがいします。
NT環境からperlでメール送信したいと思っています。
NET::SMTPをPPMでダウンロードしました。
以下のサンプルプログラムを得て、SMTPサーバ名など
を入れました。でも、エラーにはなりませんが送信されず。
そもそも、IDとpassの認証部分がないですよね。
このサンプルだと「SMTPサーバ名さえわかれば誰でも
そのSMTPサーバからメールできちゃう」ってことに
なりませんか??
他の方の質問にあった、
$smtp->auth( USERNAME, PASSWORD );
も試しましたが、エラーになりました。
認証うける方法があるのでしょうか?

よろしくおねがいします。

#!/usr/local/bin/perl -w

use Net::SMTP;

$smtp = 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;

A 回答 (1件)

あなたが指定したメールサーバは認証が必要なサーバなのでしょうか?


認証が無い場合は auth は必要ではありません。

> $smtp->mail($ENV{USER});

$ENV{USER} には正しいメールアドレスが設定されているのでしょうか?
ここにあなたのメールアドレスを設定しても送信できませんか?
多分ここでエラーになっているんじゃないかと思います。
$smtp->mail('あなたのメールアドレス');
としてテストしてみてください。

> 「SMTPサーバ名さえわかれば誰でもそのSMTPサーバからメールできちゃう」ってことになりませんか??
SPAM 対策をしていなければそういうことが出来ちゃいます。
POP before SMTP とか SMTP auth とか relay を禁止とか設定されていると思いますので
そのようなことは出来ないようになっていると思います。

この回答への補足

ご回答ありがとうございます。

>$smtp->mail('あなたのメールアドレス');
>としてテストしてみてください
→自分のメールアドレスを指定しています。
このアドレスがサーバに存在するか?をチェックしてるのでしょうか?

>あなたが指定したメールサーバは認証が必要なサーバなのでしょうか?
SMTPサーバは、認証はないと思います。POP3は必要。
でも、送信したいだけです。

>POP before SMTP とか SMTP auth とか relay を禁止とか設定されていると思いますので
この設定がされていても、NET::SMTPは使えるんですよね?

サーバ側で、NET::SMTPのようなプログラムからのメール送信要求を無視する設定などがされていることもありうるのでしょうか?

補足日時:2002/05/22 08:53
    • good
    • 0
この回答へのお礼

解決しました。
送信先を送信元と同じドメインに指定することで
うまくいきました。
その他のアドレスを送信先に指定すると、
relay禁止ではじかれました。

お礼日時:2002/05/24 06:33

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