Perlでsendmailが動かない?海外レンタルサーバーでのエラーに困っています

このQ&Aのポイント
  • 海外のレンタルサーバーでのsendmailのエラーに悩んでいます。
  • sendmailの動作に問題があり、新しいサーバーではまったく動きません。
  • サーバーサポートに問い合わせたところ、localhostを使用するようにとの回答がありましたが、意味がわかりません。
回答を見る
  • ベストアンサー

Perlでsendmail

最近レンタルサーバー(海外)を変えました。が、今まで動いていたsendmailが、このサーバーだとまったく動きません。 下記のラインが問題だと勝手に思ってます。 open(MAIL, "| $SEND_MAIL -t -oi $TEST_MAIL"); これで問題なく以前のサーバー(これも海外の)では動いていたのですが、新しい方のサーバーでやってみても全然動きません。オプション(-t -oi)を削ったり、付け足したりして色々試したのですがまったく同じで困っていたところ、サーバーのサポートに連絡したら「localhostが使えるよ。SMTPサーバー名の。」と返答がきました。きたのはいいんですが意味がさっぱり分からなくて困ってます(>_<; どういう意味だろうとgoogleで調べているんですが見当がつかないので、誰か分かる方がいたら教えてもらえませんか?ちなみにperlのパスもsendmailのパスも間違いありません。よろしくお願いします<(_ _)>

  • Perl
  • 回答数2
  • ありがとう数2

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

  • ベストアンサー
  • moon_night
  • ベストアンサー率32% (598/1831)
回答No.1

Sendmailが使用できないのでは? だから、代替でSMTPを使ってねという意味では? Socket SMTP でググってみてください。

その他の回答 (1)

  • maura
  • ベストアンサー率46% (48/104)
回答No.2

レンタルサーバーが何処なのかが気になりますが sendmail コマンドが使えないとなると そのサーバのMailServerは、qmail か postfix か何かという事になるのでしょか? sendmail であれば /usr/lib/sendmail が使えて当たり前かと 思っていいですが、そうでない場合は使用できません。 そうなると open(MAIL, "| $SEND_MAIL -t -oi $TEST_MAIL"); からのソースの書き換えは大変な労力が必要になります。 #1 の言う通り /usr/lib/sendmailが使えないので socket で 25番Portに対して SMTP通信のプログラムを 書く必要があります。 大変な苦労を要すると思いますので、レンタルサーバーを 再度変えるか、Mail送信のプログラムの勉強だと思ってがんばってください。

perl222
質問者

お礼

お返事ありがとうございます。 レンタルサーバーはawardspace.comというところです。 結構フォーラムページを見ていると、結構の数のユーザーがCGI関連で困ってる人がいるみたいです。 返答を見ていると対応もあまりよくないですし・・・(-_-;; >大変な苦労を要すると思いますので、レンタルサーバーを >再度変えるか、Mail送信のプログラムの勉強だと思ってがんばってください。 はい、そうですね、ちょっとサーバー変えたほうがいいのかなと少し思ってきてます。 ただ、確かにまだまだ勉強中ではありますのでこれを機会にもう少し粘ってみようとも思ってます。 ご返答ありがとうございました!

関連するQ&A

  • xampp sendmail 設定

    PHP sendmail 設定について すみません、うまく行かないのでご存知方いましたら おしえてください。 sendmailの設定です。。。 環境・php5、xampp1.7、sendmail(xmappに付随) まずはテストでyahooのフリーメールで試してみたいです。 注)まず、契約してる、プロバイダーのSMTPで試すと言う返答はなしでお願いします。 php.ini SMTP = smtp.mail.yahoo.co.jp smtp_port=587 ; For Win32 only. sendmail_from = tes@example.com ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). sendmail_path = "C:\xampp\sendmail\sendmail.exe -t" sendmail.ini smtp_server=smtp.mail.yahoo.co.jp smtp_port=587 error_logfile=error.log debug_logfile=debug.log pop3_server=pop.mail.yahoo.co.jp pop3_username=usernm@ pop3_password=pass auth_username=usernm@(実際ログインできるnm) auth_password=pass(実際ログインできるpw) 上記で設定しましたが、うまくいきません。。エラーMSGは得になしえです。 sendmail.iniなしで直接、php.iniに記載するし Mercury起動すると、 php.ini SMTP = smtp.mail.yahoo.co.jp smtp_port=587 error_logfile=error.log debug_logfile=debug.log pop3_server=pop.mail.yahoo.co.jp pop3_username=usernm@ pop3_password=pass auth_username=usernm@(実際ログインできるnm) auth_password=pass(実際ログインできるPW) ; For Win32 only. sendmail_from = tes@example.com ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). ;sendmail_path = "C:\xampp\sendmail\sendmail.exe -t" mb_send_mail() [function.mb-send-mail]: S MTP server response: 530 Sorry, please use SMTP-AUTH instead - for help go to http://help.yahoo.co.jp/help/jp/mail/whatisymail/whatisymail-51.htmlとでます。 解決策、ご存知方いましたら、教えていただけないでしょうか?

    • 締切済み
    • PHP
  • sendmail

    フォームメールのcgiを自宅サーバーで作成しようと して、サンプルのcgiを実行しようとおもったのですが、sendmailのパスを設定してくださいとあるのですがsendmailがどこにもありません。どこから入手すればよいのですか?サーバーはwindowsです。 サンプルcgiは、10日でおぼえるPerl/CGIの第5日4時限目のとこです。 よろしくお願いします。 当方はperl初心者です。

    • ベストアンサー
    • Perl
  • perlからsendmailを使う

    現在、mod_perlを使ってサイトを構築しているのですが、その中で、sendmailを使ってメールを送信している処理が遅く困っています。 その処理が遅いため、画面へのHTML出力が遅くなっています。(HTML出力処理は、メール送信処理よりさきにやっているのですが・・) 下記は、ソースの該当部分です。 直接、sendmailに渡しているのですが、 この処理がいけないのでしょうか? 何か改善方法があるようであれば教えてください。 ちなみに、通常のCGIだとforkで、別プロセスを立てて そのプロセスにメール送信をさせて、主プロセスは、HTML出力をさせることはできると思うのですが。 プロセスが常駐しているmod_perlでは、有効な手なのでしょうか。 -------------------------------------- open(SENDMAIL,"|/usr/lib/sendmail -t") or $err = 1; if ($err == 0) { print SENDMAIL $mail_body; close(SENDMAIL); $err_msg = "メール送信正常に処理しました。\n"; } else { $err_msg = "メール送信エラー:ticket_cd:$$ref{ticket_cd}\n"; } --------------------------------------

    • ベストアンサー
    • Perl
  • sendmail

    PerlやPHPにはsendmailを使ってメール送信する関数があったと思いますが、sendmailというメールサーバを起動していなくてはいけないのですか? メールサーバならsendmailサーバの他にpostfixやqmailなどがあるじゃないですか。

  • sendmailのパス指定方法

    mb_send_mailを使ってメールを送信しようとしているのですが、 テストで最初に送ったメールは届いたのですが、ソースを変えていないにも関わらず、しばらく時間がたった後に再び送信を行ったら、全くメールが届かなくなりました。 レンタルサーバのサイトに、sendmailのパスが書いてあったので、そのパスを指定していないことが原因かと思ったのですが、パスの指定方法がわかりません。 php.iniがいじれればいいのですが、サーバーを借りている側でいじれるようなファイルではないですし、 .htaccessではsendmailのパス指定はできないとも聞きました。 sendmailを使っているphpファイル内の記述で、パスを指定することはできないのでしょうか?

    • ベストアンサー
    • PHP
  • 他のサーバのSendmailへのパスは?

    PerlでフォームメールとかのCGIを作成したときSendmailへのパスを記述すると思いますが、ローカルでSendmailを動かしているときは /usr/sbin/sendmail とかになりますが、他のサーバのSendmailを使いたいときはどのように指定すればいいのですか?

    • ベストアンサー
    • Perl
  • sendmailコマンドでの送信についてよろしくお願いいたします。

    sendmailコマンドでの送信についてよろしくお願いいたします。 現在、次の環境にてメールサーバーの作成をしています。 OS   [CentOS 5] メール [postfix] このような、メールサーバの作成(転送設定)で、Thunderbirdといわ れます、メールソフトからのメールの送信は可能になったのですが、 sendmailコマンドでの送信が出来なくて困っています。 よろしければ、原因や問題を、教えて頂けましたらと思っています。 よろしくお願いいたします。 (現在の状況では次のようになっております。) ・メールサーバーには、(main.cf)ファイルに、 relayhost = [SMTPサーバー] を記述して、転送の設定をしています。 ・また、  smtp_sasl_password_maps = hash:/etc/postfix/isp_account  の記述と、(isp_account)ファイルの中には、  [SMTPサーバー]:25 ユーザー名:パスワード  の作成をしています。 ※telnet localhost 25 で入りましての送信は行えています。

  • PHPのmail()で送れていたメールが、急に受信できなくなりました。

    PHPのmail()で送れていたメールが、急に受信できなくなりました。 XP上のFreebsd@Vmwareでメール送信テストをしていて、 数日前まで普通に受信できていたのですが、 同じコードが今は全く動作しません。 エラーも吐かないので原因が全く分かりません。 phpinfo();で関連していそうなところを見ると sendmail_from no value no value sendmail_path /usr/sbin/sendmail -t -i /usr/sbin/sendmail -t -i SMTP localhost localhost smtp_port 25 25 な感じです。 php.iniは SMTP = localhost smtp_port = 25 ;sendmail_path = です。 数日前までは同じ設定で受信できていましたし、 今でも送信側でエラーを吐くことはありません。 何が原因なんでしょう?

    • 締切済み
    • PHP
  • sendmailのパス

    今、CGIを勉強しています。 ネットに接続せずに自分のパソコンの中でCGIプログラムを 使用したホームページをテストしたいという事で Apacheとperlをインストールしました。 Perlのパス(#!C:Perl\bin\perl) ファイルへのアクセスパス(http://127.0.0.1/)は 分かるのですが、sendmailのパスが分かりません。 自分のパソコンをサーバとみたてた時 sendmailのパスはどのように書けばよいのでしょうか?

    • 締切済み
    • CGI
  • sendmailでメールが送信されない。

    こんにちは。 自動応答メールフォームのCGI「ThemeResMail」というのを 使っているのですが、うまく動作しません。 このcgiをアップしたのは以下のレンタルサーバーです。 http://www.dot5hosting.com/dot5/ 使用しているcgiはこれです。 http://apps.cside.com/theme/tmresmail/ メール送信完了画面は出るのですが、 送信者、あて先共にメールが届きません。 同じ設定で他のサーバー(xrea)ではうまくいきました。 sendmailとperlのパスは調べた所、間違いないようです。 ■dot5でのパス sendmail /usr/sbin/sendmail Perl /usr/bin/perl 何が原因なのかどんな事でも結構ですのでコメント頂けると助かります。 よろしくお願いします。

    • ベストアンサー
    • Perl