はじめての自宅サーバ構築 - Fedora/CentOS -
Last Update 2018/05/30
[ 更新履歴 ] [ サイト マップ ] [ 質問掲示板 ] [ 雑談掲示板 ] [ リンク ]
トップ >> 当サイト情報 >> スレッド

このページは表示専用です。新規投稿・レスや最新情報はこちらです。

このスレッドはクローズされています。記事の閲覧のみとなります。

 CGIらのsendmailの設定方法は?
日時: 2008/01/03 13:33
名前: RYO

?不明点・障害内容:cgiでsendmailしてもメールが送信されない。
?ログの有無   :
  (有:その内容):
?Distribution  :Fedor
      Version:8
?Service Name  :postfix
      Version:2.1.5-2
?ネットワーク構成:

 いつもお世話になります。こちらのお蔭でWebの閲覧、メールの送受信ができるようになり、
新年を気持ちよくスタートできました。
 Webの方でひとつ問題点があります。それは、掲示板のCGIで、投稿があるとメールで通知する仕組みが
あるのですが、自サーバではうまくいきません。以下に関連スクリプトを開示しますのでよろしくお願い致します。

設定部分
$sendmail = '/usr/sbin/sendmail';# (メール通知する時)sendmailパス
$mailto  = '*****@nifty.com'; # (メール通知する時)自分のメールアドレス
送信部分
 # sendmail起動
 if (!open(MAIL,"| $sendmail $mailto")) { &error("メール送信に失敗しました"); }
 print MAIL "To: $mailto\n";
 print MAIL "From: $email\n";
 print MAIL "Subject: $m_title\n";
 print MAIL "MIME-Version: 1.0\n";
 print MAIL "Content-type: text/plain; charset=ISO-2022-JP\n";
 print MAIL "Content-Transfer-Encoding: 7bit\n";
 print MAIL "X-Mailer: $ver\n\n";
 print MAIL "--------------------------------------------------------\n";
 print MAIL "TIME : $date\n";
 print MAIL "HOST : $host\n";
 print MAIL "AGENT : $ENV{'HTTP_USER_AGENT'}\n\n";
 print MAIL "TITLE : $m_sub\n";
 print MAIL "NAME : $m_name\n";
 print MAIL "EMAIL : $FORM{'email'}\n" if ($FORM{'email'});
 print MAIL "URL  : http://$url\n" if ($url);
 print MAIL "COMMENT :\n\n$m_com\n";
 print MAIL "--------------------------------------------------------\n";
 close(MAIL);

■ コンテンツ関連情報

 Re: CGIらのsendmailの設定方法は? ( No.1 )
日時: 2008/01/04 11:30
名前: テクノ

サーバログにはなんて書いてあるんでしょうか。
スクリプトだけ明記して、どこがおかしいんでしょう?って言われてもわかる人はめったにいませんよ。
 Re: CGIらのsendmailの設定方法は? ( No.2 )
日時: 2008/01/04 22:39
名前: RYO

 ログを開示することはもちろん必要だと思いますが、どのログを見たら良いのでしょうか?
サーバログというと「var/log/httpd/access_log」で良いのでしょうか? それともメールなので、
「/var/log/maillog」でしょうか? どちらにも記録されていないようなのですが。
 Re: CGIらのsendmailの設定方法は? ( No.3 )
日時: 2008/01/05 16:21
名前: レガシー

>サーバログというと「var/log/httpd/access_log」で良いのでしょうか? それともメールなので、
>「/var/log/maillog」でしょうか? どちらにも記録されていないようなのですが。


エラーだった場合は「/var/log/httpd/error_log」。
それ以外は「/var/log/maillog」か「/var/log/messages」に情報がないでしょうか。
 Re: CGIらのsendmailの設定方法は? ( No.4 )
日時: 2008/01/05 22:39
名前: RYO

テクノさん、レガシーさんありがとうございます。
 今、ログの切り分けをし、再度CGIからメール送信してみましたので、結果を見てまた
ご相談に上がります。
 Re: CGIらのsendmailの設定方法は? ( No.5 )
日時: 2008/01/06 14:22
名前: RYO

 /var/log/maillogにこの様なログが出力されました。

Jan 6 14:13:36 Linux postfix/qmgr[21314]: 921DD88998: from=<apache@[domain]>, size=845, nrcpt=1 (queue active)
Jan 6 14:13:36 Linux postfix/smtp[13494]: 921DD88998: to=<*****@nifty.com>, relay=mx.nifty.com[202.248.238.10]:25, delay=8886, delays=8886/0.2/0.06/0, dsn=4.0.0, status=deferred (host mx.nifty.com[202.248.238.10] refused to talk to me: 550 Dynamic IP range blocked)

 「Dynamic IP range blocked」とありますが、ポート25,110はオープンされています。CGI以外のメール送受信は
まったく問題なくできています。
 Re: CGIらのsendmailの設定方法は? ( No.6 )
日時: 2008/01/07 11:01
名前: kinnsenn

サーバーから送られるメールがポート25を通っているので
ブロックされていると思います。

サーバからniftyに送るようにするには
main.cfを書きかえる必要があります。

http://vine.1-max.net/postfix-OP25B.html
などが参考になると思います。

main.cfのバックアップは忘れないように・・・

ほかにメールリレーサービスの方法がありますがこちら(メールリレーサービス)のほうが
簡単です。
 Re: CGIらのsendmailの設定方法は? ( No.7 )
日時: 2008/01/06 22:24
名前: RYO

 アドバイスありがとうございます。

> http://vine.1-max.net/postfix-OP25B.html
> などが参考になると思います。


 上記を参考にやってみましたが、下記のようなログが残って送信されませんでした。

Jan 6 22:05:36 Linux postfix/pickup[15995]: CA1F988950: uid=48 from=<apache>
Jan 6 22:05:37 Linux postfix/cleanup[16044]: CA1F988950: message-id=<20080106130536.CA1F988950@fedora.freedom-flight.ddo.jp>
Jan 6 22:05:37 Linux postfix/qmgr[15996]: CA1F988950: from=<apache@[domain]>, size=864, nrcpt=1 (queue active)
Jan 6 22:05:37 Linux postfix/smtp[16041]: CA1F988950: to:*****@nifty.com>, relay=smtp.nifty.com[202.248.238.12]:587, delay=0.41, delays=0.29/0.02/0.1/0.01, dsn=5.7.0, status=bounced (host smtp.nifty.com[202.248.238.12] said: 530 5.7.0 Authentication required (in reply to MAIL FROM command))
Jan 6 22:05:37 Linux postfix/cleanup[16045]: 3BA7888970: message-id=<20080106130537.3BA7888970@[domain]>
Jan 6 22:05:37 Linux postfix/qmgr[15996]: 3BA7888970: from=<>, size=2820, nrcpt=1 (queue active)
Jan 6 22:05:37 Linux postfix/bounce[16043]: CA1F988950: sender non-delivery notification: 3BA7888970
Jan 6 22:05:37 Linux postfix/qmgr[15996]: CA1F988950: remove

 niftyには接続にいっていることは解りますが、530の返答があり、認証を求められて失敗しているようです。
何が原因でしょう?
 Re: CGIらのsendmailの設定方法は? ( No.8 )
日時: 2008/01/07 02:32
名前: 来栖川来栖

> 認証を求められて失敗している

@nifty で指定されている (はずの) ログイン:パスワード (および認証方式) は、設定ファイル内で正しく設定していますか。
 Re: CGIらのsendmailの設定方法は? ( No.9 )
日時: 2008/01/07 11:18
名前: kinnsenn

エラーの原因で一番多いのが入力ミスだと思います。
(私も結構ミスりました。)
 Re: CGIらのsendmailの設定方法は? ( No.10 )
日時: 2008/01/07 23:08
名前: RYO

 設定を何度も見直しましたが、ミスタイプはないように思います。No.7に開示したものと同じ
内容のログが記述されます。ログの中で、

530 5.7.0 Authentication required (in reply to MAIL FROM command))

 と報告されており、さらにその後に

from=<>, size=2820, nrcpt=1 (queue active

 と書かれていて、「Mail From:」が気になっています。いかがなものでしょうか?
 Re: CGIらのsendmailの設定方法は? ( No.11 )
日時: 2008/01/09 22:45
名前: RYO

 できました。半ばあきらめかけていたのですが。一ヶ所だけ、「smtp_…」の記述が「smtpd_…」に
なっていました。これを修正したらあっさりとフォームから送信されてきました。
 返信をいただいた方々、ありがとうございました。これでとうとう自宅サーバに移行する準備が
整いました。

■ その他

ページ先頭へ


Copyright(©)2004-2018 First home server construction. All Right Reserved.