• ベストアンサー
  • すぐに回答を!

メール送信について 「Net::SMTP」or「Basp21」

メール送信機能部分を作成しているのですがちょっと困ったことが 起きましたので、みなさんのお力を貸していただければと思います。 環境は、本番はFreeBSDなのですが、設定が完了していない為 ウチにありますWinNTでCGI部分だけ動作させています。 その為、本番機ではSendMailが使えるのですが、ウチのサーバーでは 使えないため、Net::SMTPを使って送信しようと思ったのですが・・・。 ウチのメールサーバー(ExchangeServer)でスパムメール対策のため セキュリティを掛けているので、認証されていないとメールが 送信されない設定になっています。 Net::SMTPやBasp21の設定方法が載っているページはたくさんあるのですが 認証用のIDとPWをどこに書き込むのかが書いてあるサイトが見つけられませんでした。 ASP(ActiveServerPages)でBasp21を使った時は、Fromのアドレスの後ろに IDとPWを入れれば、認証されたので同様にしてみたのですが、送信されませんでした。 これだけの情報で回答いただけるかわかりませんが、みなさんにお力を貸して いただければ幸いです。 どうか、宜しくお願いしますm(_ _)m

共感・応援の気持ちを伝えよう!

  • 回答数2
  • 閲覧数578
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • 回答No.2

windows の perl の場合 ppm を使って Bundle-libnet をインストールしてください。 C:\> ppm PPM> install Bundle-libnet プロクシでしか外部とアクセス出来ない場合は ppm を実行する前に C:\ set http_proxy=http://proxyserver:port/ を実行しておいて下さい。

共感・感謝の気持ちを伝えよう!

質問者からの補足

再度、ご回答ありがとうございました! でも、なぜかPPMでのインストールができませんでした。 ※モジュールがないといわれてしまいました・・・。 もう一度実験したいと思います。

関連するQ&A

  • NET::SMTPについて

    おねがいします。 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;

  • Net::SMTPでメールを送信したいが、サーバーに接続できない

    メールフォームからメールを送信することについて、 FENICSメール(富士通株式会社)でNet::SMTPを使用してメールを送信しようと考えています。 お問い合せでNet::SMTPでメールを送信する場合、smtp authの認証が必要だとわかりまして、下記のサイトを参考にして組みましたが、 メールが送信されませんでした。 http://d.hatena.ne.jp/yoshifumi1975/20060831/1156975960 色々と調べてみた結果、最初の $smtp = Net::SMTP->new('SMTPサーバ', Hello=>"SMTPサーバ"); の文で$smtpに値がなく、サーバーに接続できてませんでした。 参考サイト)http://tech.bayashi.net/pdmemo/sendmailbyperl.html でも、smtp情報はメーラーで問題なく設置できましたので、 サーバー情報、認証には間違いはないと考えられます。 Net::SMTPは使えているのにどうしてsmtpサーバーに接続できないのか わからずにいます。 初歩的で恐縮ですが、ご回答お待ちしております。 よろしくお願いします。

  • BASP21メール送信(SMTP-AUTH認証)ASP

    ご存知の方、宜しくお願いします。 あるプロバイダのメールサーバへBASP21を使用してメールの送信を 行いたいのですが、以下のエラーMSGが表示されて できません。 「エラー530 Sorry,Please use SMTP-AUTH instead」 outlook Expressだと問題なく送信できます。 outlook Expressの設定は ・送信メールサーバ このサーバは認証が必要・・・にチェック  受信メールサーバと同じ設定を使用する SMTPポートは「587」 BASPでは、 MailServer="xxxx.co.jp:587 mailfrom="user1:pass1" と設定しています。 詳しい方、宜しくお願いします。

その他の回答 (1)

  • 回答No.1

Net::SMTP に auth ってのが有りますが使えませんか? $m = Net::SMTP->new('mailhost'); $m->auth( USERNAME, PASSWORD );

共感・感謝の気持ちを伝えよう!

質問者からの補足

回答ありがとうございました。 せっかくお答えいただいたのですが、 unpackegeといわれてしまいました。 現在は、対策として仮メールサーバーを立てて なんとか、メールを送信していますが・・・。 いずれまた、この壁にぶちあたると思いますので 引続き、ご回答をお待ちしております。

関連するQ&A

  • BASP21でメール送信で認証エラー

    BASP21(http://www.hi-ho.ne.jp/babaq/basp21.html)を使って VC++でメール送信させようとしています。 BSendMail関数を使って BSendMail( "smtp.lolipop.jp:587", // (1) SMTPServer ※ "myname@ezweb.ne.jp", // (2) MailTo "myname@domain.com myname@domain.com:password", // (3) MailFrom ※ "件名" "本文", NULL, errmsg ) のように書いたのですが次のようなエラーになります。 AUTH LOGIN error 535 Authentication failed for myname@domain.com - auths 認証失敗とのことですが、Outlookから接続すると正常にメール送信できるので (3)で指定したユーザ名とパスワードが間違っているとは思えません。 自分では(3)の書式が間違えているのではないかと思っていろいろ書式を 変えてやってみたのですがどうもうまくいきません。 どなたかご教示をお願いします。 ※ 接続先(ロリポップ)のSMTPサーバーはポート587番を採用しています。 ※ 接続先(ロリポップ)のSMTPサーバーはSMTP認証を採用しています。

  • net::smtp port設定

    以下のコードでメールを送信したいのですが、デバッグのために書いたConnect failed over tls at /var/www/cgi-bin/net_smtp.cgi line 13.エラーが消えません。 ポートの部分を取り払うとコンパイルは出きるのですが、送信してくれません。何か間違っているところがあるのでしょうか?  #!/usr/bin/perl -w use POSIX; use Net::SMTP; use MIME::Entity; my $un = "****"; my $pw = "****"; my $SMTP_Port = '587'; #オブジェクトの作成 $smtp = Net::SMTP->new( Port=> $SMTP_Port, '********', #SMTPサーバ Hello=>'********')|| die "Connect failed over tls"; #SMTPサーバのドメインを指定 $smtp->auth(<*$un*>, <*$pw*>); #ヘッダ部の組み立て $smtp->mail('*******@********');#送信元の指定 $smtp->to('*******@**********'); #宛先の指定 #データ部の組み立て(MIME::Entityによるデータの作成) $smtp->data(); #$oMime = MIME::Entity->build( From => 'test', #送信元(データ部) To => 'test', #宛先(データ部) Subject => "easy mail sending", #件名 Data => ["simple mail2&#165;n", "MailTest&#165;nhello world&#165;n"]); $smtp->dataend(); #SMTP接続の終了 $smtp->quit;

    • 締切済み
    • CGI
  • net::smtp port設定

    設定でDebugを出きるようにしてコンパイルしてみたら以下のような結果が帰ってきました。送信はできているように見えるのにメールは届きません。どこが間違っているのでしょうか? Use of uninitialized value in string ne at /var/www/cgi-bin/net_smtp.cgi line 15. login #POP3の認証をした。loginとprintされているので通ったはず。 Net::SMTP>>> Net::SMTP(2.31) Net::SMTP>>> Net::Cmd(2.29) Net::SMTP>>> Exporter(5.63) Net::SMTP>>> IO::Socket::INET(1.31) Net::SMTP>>> IO::Socket(1.31) Net::SMTP>>> IO::Handle(1.28) Net::SMTP=GLOB(0xa027cd0)<<< 220 msa03b.plala.or.jp ESMTP server ready Mon, 7 Mar 2011 14:03:31 +0900 Net::SMTP=GLOB(0xa027cd0)>>> EHLO localhost.localdomain Net::SMTP=GLOB(0xa027cd0)<<< 250- <domain> Net::SMTP=GLOB(0xa027cd0)<<< 250-PIPELINING Net::SMTP=GLOB(0xa027cd0)<<< 250-DSN Net::SMTP=GLOB(0xa027cd0)<<< 250-8BITMIME Net::SMTP=GLOB(0xa027cd0)<<< 250 SIZE 20971520 Net::SMTP=GLOB(0xa027cd0)>>> MAIL FROM:<.....> Net::SMTP=GLOB(0xa027cd0)<<< 250 Sender <......> Ok Net::SMTP=GLOB(0xa027cd0)>>> RCPT TO:<.......> Net::SMTP=GLOB(0xa027cd0)<<< 250 Recipient <......> Ok Net::SMTP=GLOB(0xa027cd0)>>> DATA Net::SMTP=GLOB(0xa027cd0)<<< 354 Ok Send data ending with <CRLF>.<CRLF> Net::SMTP=GLOB(0xa027cd0)>>> . Net::SMTP=GLOB(0xa027cd0)<<< 250 Message received: 20110307050332.OKQD27506 <domein>@localhost.localdomain Net::SMTP=GLOB(0xa027cd0)>>> QUIT Net::SMTP=GLOB(0xa027cd0)<<< 221 <domain> ESMTP server closing connection

    • 締切済み
    • CGI
  • 携帯からSMTPメールが送信失敗します

    2年以上前は出来ていたのが最近出来なくなりました。 機種はWX310SAです。 SMTPポート番号を25から587に変更しても結果は同じでした。 気になることは、この機種ではSMTP認証が設定できないことです。 もうSMTPでのメール送信は、出来なくなったのでしょうか?

  • sendmailから他の送信サーバーでSMTP認証を行いメール送信方法

    自宅でメールサーバ(Sendmail)を利用しています。 契約しているプロバイダ(eo net)のOutbound Port25 Blocking実施に伴い、携帯へのメールができなくなりました。 クライアントの設定で、SMTPをプロバイダに設定しSMTP認証を受けることにより送信は可能です。 ただ、.forwardによる自動転送に対応させるために、クライアントではなく、sendmailの設定により根本的な解決を行いたく調べております。 以前、こちらで define(`SMART_HOST', `esmtp:[smtp.nifty.com]')dnl により解決できたとの書き込みは見たのですが、私が利用しているeo netの場合はSMTP認証が必要だと思われます。 そのような設定は可能でしょうか? よろしくお願い申し上げます。

  • Becky! で ヤフーメールを送信できません。

    Becky!2.31 で ヤフーメールを送信できません。 送信をすると 「530 Sorry, please use SMTP-AUTH instead - for help goto  http://help.yahoo.co.jp/help/jp/mail/whatisymail/whatisymail-51.html」 のエラーが出ます。 それを元にいろんな質問やサイトも合わせて読みましたが、成功に至っていません。 ほかにここも設定は必要だ!というところはありますでしょうか? 設定は下記のとおりです。SMTP認証のID,PWはハズしても試しています。 メールアドレス ヤフーID@yahoo.co.jp POP3サーバー pop.mail.yahoo.co.jp SMTPサーバー smtp.mail.yahoo.co.jp ユーザーID ヤフーID パスワード ヤフーPW 認証方式 ●標準 SMTP: 587 レSMTP認証 レCRAM-MD5 ユーザーID ヤフーID パスワード ヤフーPW レPOP before SMTPを使用 レESMTPを使用

  • SMTP認証非対応ネットワーク機器からのメール送信

    現在、Gyaoをプロバイダとしてネットに接続しています。 GyaoではSMTPサーバは認証になっており、自プロバイダの中からでも アカウントとパスワードを設定しておく必要があります。 当家には、ルータ(バッファローWHR-HP-G54)、 ネットワークHDD(バッファローHS-DH320GL)、 HDDレコーダー(東芝ヴァルディアS601)などの機器があり、 これらはメールでステータスなどを知らせる機能を持っています。 ですが、どれもメール送信の設定的にSMTP認証には対応しておらず、 こうしたメールを送信することができていません。 SMTP認証を回避する方法は何かありませんでしょうか。 あるいはプロバイダの外から利用可能な、認証不要なSMTPサーバは 無いものでしょうか。 ちなみに、上記3機種とも、GyaoでSMTP認証が始まる前までは ステータスメールの送信は問題なくおこなえていました。

  • SMTP、POP3設定 メール送信

    ・WEBカメラの防犯使用 メール送信 ライブキャプチャ2というソフトを使用して動体検知で写真をとり、 私のgmailからビッグローブのメールアドレスに送ろうとしていますがうまくいきません。 ポートはSMTPが465、POP3が995にしています。 パソコンで防犯カメラというソフトも考えていますが、あちらはメール送信では画像が送れないのでまた別にFTP設定をしないといけない為取り敢えずはライブキャプチャで考えています。 画像の通りです。ID、PWも入力しています。 宜しくお願い致します。

  • SMTPサーバーにてメールの送信

    PHPでメールを送れないかと調べたところさまざまな方法があるようですが、XAMPPにMercuryMailがついていたのでそれを使ってやってみることにしました。 php.iniでは SMTP = localhost smtp_port = 25 の設定でlocalhostにメールを送るとMercuryMailにメールが届くんですが、そこからいざ外に送ろうとなるとうまく遅れないようです。 調べてみたらISPのほうで25番ポートブロックなるものでブロックされるとあることなのでかわりに587ポートで送ることにしました。 しかし、それでもうまく届けることができませんでした。 そこで、リレーをさせて送ろうとyahooのSMTPサーバーとBIGLOBEのSMTPサーバー、2つでためしたのですがやはりどちらも送ることができませんでした。 双方ともちゃんとSMTP_AUTHをつかってIDとPWを入れていますが送ることができませんでした。 環境はXAMPP1.6.6aをつかっており、MercuryMailのバージョンは4.5.2です。 OSはWindows XP Home Edittion ISPはBIGLOBE フレッツ光回線です。 この環境でSMTPサーバーをたてることはできないのでしょうか? よろしくお願いします。

    • 締切済み
    • PHP
  • Becky!Ver2でメール送信できません

    自宅でBecky!からメール送信しようとすると出来ません。受信のみ可能です。送信する際のエラーメッセージは以下の通りです。 ”メール送信中にエラーが発生しました。以下サーバーからのエラーメッセージです。530 5.7.0 Authentication required” プロバイダはAOLで、回線はNTTのBフレッツ光マンションタイプです。しかしながらBeckyに設定しているサーバー及びメールアドレスは会社で契約しているファーストサーバのものです。 ポート25のブロッキングが働いているのだろうとは察しがついており、ポートを587に変更しましたが、前述のエラーメッセージが出ます。AOLに聞いても、他者のサーバーを利用している際の設定方法は分からないと対応してもらえませんでした。 現在のBeckyのメールボックスの設定は以下の通りです。 <基本設定タブ> ●個人情報 名前:自分の名前 メールアドレス:aaa@自分の会社のドメイン(aaa@xxx.co.jp) ●サーバー情報 受信プロトコル:POP3 POP3サーバー(受信):pop.自分の会社のドメイン(pop.xxx.co.jp) SMTPサーバー(送信):mail.自分の会社のドメイン(mail.xxx.co.jp) ユーザーID:ファーストサーバー用のID(aaa) パスワード:ファーストサーバー用のPW 認証方式:標準 <詳細タブ> ●サーバーのポート番号 SMTP部分を 587 に変更 ●SMTP認証にチェック CRAM-MD5にチェック LOGINにチェック ユーザーID:ファーストサーバー用のID(aaa、メールアドレスの@より左部分、<基本設定タブ>のユーザーIDと同じ) パスワード:ファーストサーバー用のPW(アカウント名(ID)に対するパスワード、<基本設定タブ>のパスワードと同じ) コンフィグレータにログインし、【電子メール機能 >> メールサーバ不正利用対策】 から認証方法を「POP Before SMTP機能とSMTP-AUTH機能の両方」をONに選択してあります 以上です。 詳細タブの中のSMTP認証のユーザーIDをプロバイダのもの(AOL)にしたり、基本タブのSMTP送信をAOLにしたりといろいろやってみたのですがダメでした。そのプロバイダのものでないサーバーでBeckyから送るというのは無理なのでしょうか。 正しい設定方法を教えていただけるとありがたいです。