パスワード再設定のメールが来ない

Events happening in the community are now at Drupal community events on www.drupal.org.
sakura-mama's picture

又来てしまいました。

今回の症状は、何もしていないのに勝手にログアウトされた状態になりました。パスワードを入れたのですが違っているらしく、ログインできなくなりました。
そのため、パスワードの再発行をしたのですがメールが届きません。
違うメアドで「新規アカウント」の作成をしてみましたら、違うメアドには承認待ちのメールが届いています。
しかし、新規アカウントを承認するためのメールは、メインのメアドには届きません。

一つだけ、こちらのアカウントにアドレスをアップしたんですがアカウントの設定などを全くしていないのでデフォルトの設定のままだったと思います。

解決の方法をご存知でしたらご指導お願いできたらと思います。
本当に何度もお邪魔しておりましてお恥ずかしい限りですが、なにとぞよろしくお願いいたします。

Comments

的確かどうか

xbro's picture

私だったら、データベースを直接見てログインできない方のアカウントメールを正しく認識してたかとか確認取りにいきますが、果たしてそれが正しい対処かどうか。実験システムだったら最終的に再インストール。その前に最後の切り札としてログインできるほうのアカウント情報のパスワード(DBでは16桁ぐらいのe19djkl20jf30je4みたいなテキスト、どれがログインできるアカウントの行かはメールで解ります)をログインできないほうのパスワードの所に上書きして、それでログインできなかったら自分がログイン情報勘違いしたんじゃなくて本当にシステムが壊れた(考えにくいですが)と確認します。

テーブルはたしかusersというテーブルだった思います。その中にユーザの数だけ行があり、各行ごとにユーザの情報一人一人の情報が管理されています。一度phpmyadminで見てみたら解ると思います。

dokumori's picture

勝手にログアウトしてしまう場合、クッキーの設定が問題である可能性があります。サイトのURLを変更しましたか?
まずsettings.phpのクッキーのドメインの設定を調べてみてください。

また、サイトのURLを変更した場合、settings.php の $base_url が古いまま、ということも考えられます。

それから、以下の手順で、手動でパスワードを再設定することができます:
(パスワードを'new_password'に設定する前提です。)

  1. サーバー上のdocroot内にmd5.phpというファイルを作る
  2. 中に以下のコードを追加して保存
    <?php md5('new_password'); ?>
  3. ブラウザでそのファイルを開くと md5 ハッシュが表示されるのでこれをコピーする
  4. Drupalのデータベースの user テーブルを開き、パスワードのmd5ハッシュを先の手順で得たハッシュで上書きする
  5. このパスワードでサイトにログインしてみる

ありがとうございました!!!!

sakura-mama's picture

fuji@drupal.org さん、ありがとうございます。
phpmyadminの使い方も良く判っていないし、元々データベースを使うのが今回始めての初心者ですので、まだ実験的インストールに近いもので記事が少ないですから再インストールの方が確実かなぁ、と。。。最終的なことは後記します。

dokumori さん、ほんとうにこのような素人にお付き合いくださり感謝です。md5ハッシュのような事が出来るのだと、感動してます。早速やってみたのですが、ブラウザでmd5 ハッシュが表示されませんでした。やり方が悪いのだと思いますが、是非やってみたい方法だったので出来なくて悔しい思いをしてます。
もう少し勉強して、この方法が出来るようなレベルまで頑張りたいと思います。

最終的に、実験的インストールですので再インストールをしてみました。今は動いています。が、Drupal アカウントが作成されると設定の時に指定したメアドにアカウント有効化のメールが届くはずなのですが届きませんでした。
この理由が判りませんが、もしパスワードを変更してもメールが届かないと又同じようにパスワードの再設定が出来なくなりそうです。

今のところこのような状態ですが、皆様、本当にありがとうございました。

dokumori's picture

パスワードが表示されなかったのは、僕のコードが間違っていたからです。正しいコードは以下のとおり:

<?php print md5('new_password'); ?>

print しなかったら表示されませんね。失礼しました。

メールが届かない理由は、Drupalのwatchdogや、apacheのログを見たら分かるかもしれません。

phpmyadmin

xbro's picture

phpmyadminは見てるぶんには問題が無いと思いますので、見るだけ見てみて、usersテーブルでどこのメアドに発信されてるのか確認することをお勧めします。

登録時に記入したユーザ名とかmd5ハッシュ化されたパスワードやメアドがあるので見れば解ると思います。前回のインストールで新しいアカウントを作成した時はメールが発信されてたので、ひょっとするとメアド登録時に一文字間違えちゃったような簡単な理由の可能性もあると思います(キーボード慣れてきたりすると意外と一文字間違えたりある事だと思います)。

再インストールして登録時に慎重に登録情報を書き込みアカウント作成するか、もしメアドを間違って登録したのであれば、phpmyadminから数行のSQLコードで訂正できます。実験システムなんでちょっと派手なアドバイスですが確認したければ、再インストール前にphpmyadminのSQL実行画面(テキストボックス)を探し、下記のコードを希望のメアドと登録時のユーザ名に置き換え実行が成功した後、Drupalシステムが正常に動いたら、登録時にメアドを打ち間違えた事になります(もし下記のコードが間違ってたらすいません、アイディアは解りますね)。

UPDATE users SET mail='sakuramama_email' WHERE name='sakuramama_username'

(phpmyadminのSQL実行テキストボックスにコピペしてボタンを押す)

通常Drupalには必要の無い知識ですが、一応phpの基本知識にはSQLの基本作業も含まれますのでいい体験になると思います。

dokumori

sakura-mama's picture

dokumori さん!!!!
ありがとうございます。md5 ハッシュできました。
それから私のDrupalにはwatchdogはないようです。
apacheは見方がまだわかっていないので、もう少し調べてからトライしてみようと思います。

fuji@drupal.org さん、ありがとうございます。
まず、最初にDrupalをインストールしたときにもメールが来ませんでした。二つのサーバーで独自ドメインを管理しているサーバーと、無料サーバーを利用しています。そして、Drupalに最初にインストールした時にはこの無料サーバーにだけメールが届きませんでした。そこが問題点かもしれません。
phpmyadminにはログインできて中を見ることができたのですが、SQL実行画面(テキストボックス)どこか判りませんでした。色々見ればいいのでしょうけど怖くて触れないです!!!!!

多分、メアドの間違いはないという気がします。良く判らないのでデータベースの中を見てみましたがアドレスはあっています。それに、ミスタイプを避けるため元々データとしてメアドを保存していてそれをコピーして使っていました。

いや~、ほんとに色々な経験をさせていただきました。phpmyadminていうのがあるのも、中を見れるのも知らなかった素人ですが色々と知って勉強になります。
ありがとうございます!!!!!!!

独自ドメインを管理しているサーバー

xbro's picture

参考にまで言えるのは、無料サーバで出きることは有料サーバで必ずできるはずということと、無料サーバは安全性を考えて制限をしてる可能性があるので、ここで話すことは有料サーバの方だけにしときましょう。

独自ドメインを管理しているサーバーはsakura-mamaさんが自分でOSを変更したりする自由度がありますか?

もしOSを自分で変えたり出来ないのであれば、Drupalがメールを出すときに使用するphpのメール関数は問題なく実行されるはずです。確認のため、

md5.phpと同じ要領でtest.phpを作成して下記のコードのメアド部分を自分のメアドに変更してからコピペしてtest.phpをブラウザから開けてください。OSを自分で変更できなくて、test.phpからメールが届いてなかったら、そのサーバの管理者当にphpのmail関数は使えるのか聞いて見てください。

<?php
mail
('sakura-mama@email.com', 'My Subject', 'Hello World');
echo
"Mail Sent.";
?>

watchdog

dokumori's picture

watchdog というのは「通称」で、エラーその他のログを記録する機能です。管理画面の中にあり、URLでいうと http://example.com/admin/reports/dblog からアクセスできます。レポートやエラーの種類などで絞ってログの閲覧をすることも可能です。メールの送信ができなかった場合などは、ここにログが残されていることがあります。

phpMyAdminは、DB 選択後、左コラムのテーブルをクリックすると(例えば users)、右側のフレームにそのテーブルの構造が表示されます。そのフレームの上にタブが並んでいますが、一番左の 'Browse' をクリックすると、テーブルに格納されているデータが見えます。1行1レコードです。パスワードを変更したいユーザーの左側にある「エンピツ」ボタンをクリックすると、編集画面に行きます(Drupalのノード編集画面みたいなものです)。ここで変更を行い(例えばパスワードのハッシュを上書き)保存することで、SQL文を書かずにデータベース内のデータを書き換えることができます。より詳しい使い方は、googleなどで「phpmyadmin マニュアル」などのキーワードで日本語マニュアルを検索してみてください。

ところで、このコメント以前の自分の説明が、全然ビギナーに易しくないのを目の当たりにして愕然としています。(で、今回は少し丁寧に書いてみました)
別に僕のレベルが高いというわけではないです。どちらかというと説明が足らず、相手がどこまで理解しているか気づかずにいるだけです。
こういう人にサポートされると、ビギナーはDrupalを必要以上に敷居が高いもののように感じて敬遠してしまいますね。気をつけます。僕や他の人の書いていることの意味が分からない場合、遠慮なくその旨伝えてください。問題の答えを見つけるためにこの場所があるので。(必ず答えが見つかる保証はないですが)

遅くなりました。

sakura-mama's picture

バタバタしていて書き込み遅くなりました。すいません。

fuji@drupal.org さん、有料の方は問題なく動いています。メールも来ています。ちなみに無料の方はこちら↓です。
http://fengshui.s328.xrea.com/drupal/
こちらは勉強のためにやっているサイトなので、内容はいい加減なものですが、それは別にして動きは問題ないようです。
無料の方はデータベースも一つしかありませんし、制限があるようです。
メールの関数は使えていると思います。というのも、違うアカンとを作成する時に違うメアドで登録をしようとすると、その違うメアドにはメールが届くのです。再インストールをしてからはログインは問題ないですが、自分宛にメールが届かないのは問題なので、メアドを変えてエラーが出るか見てみようかなと思いますがどうでしょうか。。。。

dokumori さん、watchdogはそういうことなのですね。調べた時に今のバージョンのDrupalにはwatchdogが標準では入っていないって記事を見たので、ないものだと思い込んでしまいました。いい加減な情報は信じたらダメですね。結果としてログにはメールのエラーはありませんでした。
やってみました。できました。問題ないです。
phpMyAdminもやってみました。すごいですね。初めて足を踏み入れる世界である意味感動しました。
結果は、問題なかったです。

怖かったですが、一旦ログアウトしてみて再度ログインしてみました。最初はあえて違うPWを入れて失敗してみて、次は正しくしました。問題なくログイン出来ました。watchdogにもログインに失敗のログが出来ていたので今回は問題はなく動いてくれないかなって思いますが、甘いかしら?
前回は、データベースも削除しましたので、ログなども残っていないと思うし原因は判りませんが今回の事では本当に勉強になりました。

それから、「全然ビギナーに易しくない」って事は全然ないです。逆に、私のようにビギナーだと判っていながらアドバイスを下さるそのお気持ちが大変嬉しく、dokumoriのような方がいらっしゃる限りDrupalを始めても大丈夫と、思われるビギナーも多いのではないでしょうか?
確かに、phpMyAdminが初めてだと知らない言葉が多いので戸惑うことはあります。 
でも判らなかった部分はわからなかったとコメントさせていただいてますし、それに対して回答も頂いてますし、結果として前進しています。感謝のみです。
私の方こそ、このようなド素人がこちらにお邪魔して質問をさせていただくことがいいのかと。。。。。。

しかし、この場所がないと途方に暮れますし、どうかこれからもどんなビギナーな質問でもさせていただいてよろしいでしょうか?

無料サーバ

xbro's picture

”自分宛にメールが届かないのは問題なので、メアドを変えてエラーが出るか見てみようかなと思いますがどうでしょうか”

これは無料サーバで何ができるかできないか、ひょっとしたらどこで問題(Drupalメール送信側かメール受信機能)が起きてるか自分で把握できるできないの範囲の事ですのでどうするかは人それぞれだと思います。問題なく動いてるサーバ(有料)があるとの事でこのスレッド自体は解決したという事にはなると思います。

(無料サーバはそれを提供してる会社の方針によりいろいろあってもおかしくないので、今後は混乱が起きないように最初にどっちのサーバと述べたり、あるいは有料サーバで起きたことだけを開示することをお勧めします。有料サーバはどこでも環境が似てるのでサポートしやすいので)

dokumori's picture

返事が遅れました。親切なコメントありがとうございます。
どんどん質問して上達して、他のユーザーをサポートできるようになってください :)

日本 コミュニティ: Drupal Japan User Group

Group organizers

Group categories

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds:

Hot content this week