**[[質問箱3/261]] [#l3eaf554] #author("2018-03-11T16:09:13+09:00;2010-01-28T00:05:24+09:00","","") **[[質問箱/3261]] [#l3eaf554] |RIGHT:70|LEFT:410|c |~カテゴリ|| |~サマリ|ページを更新すると「pkwk_mail_notify(): Failed」と表示され、更新ができません。| |~バージョン|1.4.6| |~投稿者|[[tsuge]]| |~状態|完了| |~投稿日|&new{2005-11-24 (木) 23:58:24};| ***質問 [#faa2456d] 下記の通りpukiwiki.ini.phpを設定しているのですが、 ページを更新すると「pkwk_mail_notify(): Failed」と表示され、更新ができません。 // Send mail per update of pages $notify = 1; // Send diff only $notify_diff_only = 1; // SMTP server (Windows only. Usually specified at php.ini) $smtp_server = 'localhost'; // Mail recipient (To:) and sender (From:) $notify_to = 'uaer@provider.ne.jp'; // To: $notify_from = 'pukiwiki@mydomain.com'; // From: ***回答 [#w917e1d6] - 取りあえず更新通知メールを諦めたら、更新そのものは出来るのですね?また、そのサーバは、PHPからメールが送信できる環境ですか? -- &new{2005-11-25 (金) 00:18:09}; - その通りで更新・PHPからメール送信は可能です。 -- [[tsuge]] &new{2005-11-25 (金) 00:41:07}; - phpからsendmailへのパスは正しく設定しています。PHPがMUAとしてのsendmailコマンドにメールを引き継いだ後で、sendmailコマンドがローカルホストのSMTPサーバに渡そうとして失敗しているようです。phpからのメールは送信しましたと表示されるが、toには届かないです。&br;PukiWikiの問題ではなさそうです。どうも失礼しました -- [[tsuge]] &new{2005-11-27 (日) 15:33:31}; //#comment ---- ***質問-2 [#d1869645] - 上記と同様にnotifyがFailしてしまいます。場違いの質問かもしれませんが、"PHPからメールの送信は可能"かどうかはいかにして確かめればよいのでしょうか。ちなみにOutlookからメールの送受信はできており、それをSMTPサーバとしてpukiwiki.ini.php内で指定しています。 -- [[pkwk初心者]] &new{2006-10-24 (火) 11:07:27}; ***回答-2 [#i3355bc3] - 利用者であれば当然に閲覧できる筈の仕様を読む。管理者に問い合わせる。phpinfoの出力を見て、mail送信に関する設定が適切に行われているか確認し、実際にmb_send_mail()を試してみる。Outlookから云々はあまり意味がありません。おそらく大抵の場合、そのように$smtp_serverを設定するのは誤りです。 -- &new{2006-10-24 (火) 18:47:04}; - メール送信テストを[[こんな感じ>http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/php_k11.htm]]で作り、test6.phpにアクセスしてはいかがですか。 &br; それはそうと、あなたの環境は・・・レンタルサーバー ? 自宅サーバー ? Linux ? Windows -- [[hirokasa]] &new{2006-10-24 (火) 19:32:02}; - ご丁寧にご検討ありがとうございます。環境はwindowsXPpro+php5+pukiwiki1.4.7+apacheです。smtpサーバが必要なのかと思い[[sendmailまねーる>http://tokyo.atso-net.jp/pukiwikip/?SendMail]]を導入し、test6.phpにアクセスしてみたのですが。。。"sendmail_from" not set in php.ini or custom "From:" header missing というエラーが出てきてしまいます。ちなみにC:windowsフォルダのphp.iniのsendmail_fromにはxxxx@yahoo.co.jp(xxxxはログイン名)にしています。まずtest6.phpをクリアにしたいのですが、、、場違い質問かとは思いますが、ご助言いただければ幸いです。 -- [[pkwk初心者]] &new{2006-10-25 (水) 14:43:05}; -- 残念ながら私はWindows環境に詳しくありません。しかしsendmailまねーるはSMTPサーバーではないですよね。Windows用のSMTPサーバーをインストールし適切に設定を施す必要があると思います。 -- [[hirokasa]] &new{2006-10-25 (水) 15:35:15}; - Windowsでメール通知機能をしようするには結構改造が必要そう。メッセージ本文の改行コードを\r\nにしないといけなかったり、Subjectにマルチバイトとシングルバイトの混在が困難だったり。自分が調べたなかで一番役にたったサイトはhttp://jp.php.net/manual/ja/function.mb-send-mail.phpです。サーバーのOSによってコードを変えないといけない場合、どうしてるんだろう? -- [[agena]] &new{2007-06-12 (火) 09:03:05}; --file.php::file_write()で作成される更新情報(メール本文)の改行コードが'\n'であったので、pkwk_mail_notify()に渡す前に'\r\n'に変換。 --同様にmail.php::pkwk_mail_notify()内のheader,footer作成ロジック中の'\n'を'\r\n'に修正。 --mail.php::pkwk_mail_notify()の$subjectにマルチバイト、シングルバイトが混在しているとエラーになるので関数下部を以下のように改造。 ini_set('SMTP', $smtp_server); $subject = mb_convert_encoding($subject, "ISO-2022-JP","AUTO"); $subject = mb_encode_mimeheader($subject); mb_language(LANG); //if ($_headers == '') { return mail($_to, $subject, $message); //} else { // return mb_send_mail($_to, $subject, $message, $_headers); //} -- PHP初心者なんで間違っていたら指摘願います。 -- [[agena]] &new{2007-06-12 (火) 12:33:41}; - MTA 関連: [[続・質問箱/641]] -- &new{2010-01-28 (木) 00:05:23}; - MTA 関連: [[質問箱/2641]] -- &new{2010-01-28 (木) 00:05:23}; //#comment