2019年9月、AndroidのGmailアプリに設定してあったYahooのIMAPのアカウントで、突然、メールの受信ができなくなりました。
また、iPhoneのGmailアプリや、パソコンのOutlookやThunderbirdなどのメールソフトも、受信ができなくなっています。

AndroidのGmailアプリの場合ですが、
「このフォルダの同期中に問題が発生しました」と画面全体に表示され、更に、画面下部には、
「正しい認証情報が必要です ログイン」
と表示されます。

yahoo_mail1.png

パスワードが違うような感じのエラーですが、原因は違います。

このエラーの数日前にYahooから次のようなメールが来ていました。

------ ここから ------
Yahoo! JAPAN

いつもYahoo!メールをご利用いただき誠にありがとうございます。
Yahoo!メールではセキュリティ強化の取り組みとして、Yahoo!メールをより安全にご利用いただくためにOutlookやiOS標準メールアプリ、Gmailアプリなどの『メールソフトを利用しない』お客様には、「Yahoo! JAPAN公式サービスを利用したアクセスのみ有効にする」ことを推奨しています。
そのため、一定期間『メールソフトからYahoo!メールを利用していない』お客様については、システムが自動的に「Yahoo! JAPAN公式サービスを利用したアクセスのみ有効にする」に設定を変更いたしました。

Yahoo! JAPAN ID: ▲▲▲▲▲▲
Yahoo! JAPAN IDは一部非表示(*)にしています
対応日時: 2019/9/2 14:50:48

再度メールソフトから利用する場合は、お手数をおかけしますが、お客様ご自身で「Yahoo! JAPAN公式サービス以外からのアクセスも有効にする」に設定を変更してください。

パソコンで設定変更する ←★
スマートフォンで設定変更する ←★

------ ここまで ------

というわけで、同様のエラーが起きている人は、ブラウザからYahoo!メールへアクセスして、上記のようなメールが来ているか確認して、そのメール本文内の上記の★に設定されているリンクからYahoo!メールの設定ページへ移動して、
「Yahoo! JAPAN公式サービス以外からのアクセスも有効にする」をONにし、
次画面で、必要に応じて、
 IMAP
 POP
 SMTP
をONにしましょう。

yahoo_mail2.png

yahoo_mail3.png

なお、
 Yahoo!メールアプリ
 ブラウザからの利用
はこの影響は受けないので、今まで通りの利用が可能です。

「パスワードが誰かに変えられたか?」と、一瞬あせってしまいました。

ぐっどらっこ。

OCNは2019年10月1日から、これまでの非暗号化方式でのメールの送受信を利用できないようにするという暴挙に出るわけですが、「メールの送信ができない」ことはその前触れです。

解決方法はひとつ。
メールソフトの送受信の方法を暗号化方式に変更することです。
そうしないと10月1日からは受信もできなくなります。

ocn_mail1.png

詳しくは

OCNから[【重要】OCNメールをメールソフトでご利用いただく際の設定について]というメールが来た場合
https://support.ntt.com/ocn/support/pid2900000yvw

をご覧ください。
当サイトの、
メールを安全に使う(OCN編)
という記事でも、Thnderbirdの暗号化方式の設定方法を紹介していますので、ぜひご覧ください。

ぐっどらっこ。

iPhoneでドコモメールを使うリンク集

iPhoneでドコモメールを使うリンク集です。

iphone_docomo_mail.png

1.Wi-Fiをオフにする。

2.プロファイルのインストール
http://service.smt.docomo.ne.jp/site/mail/src/cop_rd_profile.html

3.自動受信設定
https://www.nttdocomo.co.jp/service/docomo_mail/ios/use/


おまけ

・「ユーザー名またはパスワードが間違っています」というエラーが表示される
上記の2番でプロファイルの再インストールをしてみる

・何度もdアカウントがロックされてメールが受信できなくなる
機種変更前のiPhoneにメール設定が残っていないかご確認ください。残っている場合は以下の手順で「iPhone利用設定」または「ドコモメール利用設定」を削除してください。
「設定>一般>プロファイル>iPhone利用設定またはドコモメール利用設定>プロファイルを削除」

・ID/パスワードをお忘れの方・ロックがかかってしまった方
https://id.smt.docomo.ne.jp/src/utility/idpw_forget.html

・IMAPパスワードの確認方法
Mydocomo(→設定(メール等))→「メール設定(迷惑メール・SMS対策など)」→「IMAP専用ID・パスワードの確認」

・ドコモメールアプリをWi-Fiで利用する
https://www.nttdocomo.co.jp/service/docomo_mail/set_up/wifi/index.html

・その他のメールアプリからのご利用
https://www.nttdocomo.co.jp/service/docomo_mail/other/

・念のため、設定→「モバイル通信」で「メール」もONになっていることを確認。

iphone_docomo_mail2.png

んーー、これだけあればいいかな。

ぐっどらっこ。

ドコモのサイトの

ドコモメールのセキュリティについて ★
https://www.nttdocomo.co.jp/service/docomo_mail/security/index.html

によれば、
1.2019年7月23日(火曜)以降、IMAP専用パスワード未設定のお客さまは、海外からドコモメールサーバーへのアクセスができなくなります。
2.2019年8月(予定)以降、「1.海外からのアクセス制限」の内容を国内からのアクセスに対しても適用いたします。
とあります。

メールを受信する場合は、
POP
IMAP
の2種類がありますが、そのへんを気にしないで設定を行うとIMAPで設定してしまうことが多いので、今回のドコモの対応には注意が必要です。

docomo_mail_lockout1.png



パスワードが必要です
IMAPアカウント"ドコモメール"のパスワードを入力

という画面が突然出るようになったら、★のページにアクセスして、自分のIMAPパスワードを確認してから、パスワード欄に入力しましょう。

で、本題はここからです。
スマホを機種変したあとも、古い方のスマホをWi-Fi専用で使っている人も多いと思います。
その古い方でドコモメールを利用できる状態にしてある場合は、IMAPのパスワード設定が必要ですので、そちらの設定変更も忘れずに行いましょう。
何度も失敗するとロックがかかってしまい、新しい方のスマホからアクセスした場合に、ドコモメールの受信ができなくなってしまいます。

docomo_mail_lockout2.jpg

「メールを取得できません」

と表示された場合で、IMAPパスワードが正しいのにおかしいな?と思った人で、他のスマホでドコモメールの設定を残したままにしてある人は、
「設定」→「モバイル通信」で「メール」がONになっているか確認します。
また、ロックがかかってしまっているかもしれないので、

ロックがかかってしまった方
https://id.smt.docomo.ne.jp/src/utility/idpw_lock.html

を参考にロックを解除するとともに、
同ページ内の「何度もロックされてしまう方」を参考に、
ロックがかかってしまう原因となったスマホやタブレットの設定を確認しましょう!

そして、もう一つ。
新しい方のスマホで利用してる際、何かの理由でdocomo IDのパスワードを変更することもあるかと思うのですが、こちらも以前のスマホ側の設定変更しないまま放置しておくと、ログインに失敗し、ロックがかかる原因になることがあるので注意しましょう。

ぐっどらっこ

ブツは、Windows10 64bitのノートパソコンです。
Intel HD Graphics 4000を搭載したちょっと古いVAIOのパソコンです。

7月初旬に、「6月のWidnows Update」を適用してからというもの、パソコン再起動時にブルースクリーンになって困っていました。

bsod_1903.jpg

症状は、

・いったん起動してしまうと、BSODになることはない。
・BSODのエラーコードは以下の通り。(BlueScreenViewで解析)
 PAGE_FAULT_IN_NONPAGED_AREA
 0x00000050
 ntoskrnl.exe
 10.0.18362.267 (WinBuild.160101.0800)
・何回かBSODを繰り返していると、修復を経て立ち上がる。(復元はしなくても立ち上がる)
・再起動すると、必ずBSOD。
・「シャットダウン」→「起動」でもBSOD。
・高速スタートアップは以前からオフ。
・セーフモードで起動すると、問題なく起動する。
・マウス、LANケーブル、セカンドVGAモニタケーブルなどをはずしても、BSOD発生。
・ESETを使っている。

というものですが、
2019 年 7 月 27 日 KB4505903 (OS ビルド 18362.267)
https://support.microsoft.com/ja-jp/help/4505903/windows-10-update-kb4505903

を適用したらブルースクリーンは発生しなくなりました。
今回は、Windows Updateではなく、インストールパッケージをダウンロードして、スタンドアローンインストールしました。

もう、MSさん、へんなアップデートをリリースしないでくださいよぉー。
おねがいしますよぉーー。(´・ω・`)

ぐっどらっこ。

うなぎぱん

ごらんください。

けっこうリアルなんですが、ぱっと見は、う○こです。
黒い色はココアによる着色の模様。
味は、嫌いじゃないです。目のところがおいしかった。

unagi_bread.jpg

ぐっどらっこ。

幻の魚 イトウ。
サケ目サケ科イトウ属の淡水魚で、体長は1mを超えるものもいます。

イトウといえば、釣りキチ三平を思い出してしまいます。

で、そのイトウですが、新潟県糸魚川市内の寿司廣(すしひろ)でお寿司として食べることができます。イトウは糸魚川の早川地区で養殖されたものだそうです。
入荷状況次第ではないときもあると思いますので、事前に電話などで確認してから行ったほうが良いと思われます。気さくなご主人とおかみさんがお相手してくれます。

sushi_itou.jpg

この時の身は赤みがかって、サケのようでした。(2019/06/08 いといがわバル街のピンチョス)
臭みもなく、とても淡白な味でおいしかったです。
この日のイトウは70cmくらいとのことでした。(写真内の下2個がイトウです。しょうがが乗っている方はズケです)

sushi_itou2.jpg

ぐっどらっこ。

PHPのプログラムをブラウザから実行した時、まあ、つまり「表示させた」時、画面にPHPのメッセージが表示されることがあります。
メッセージの種類は、インフォメーションだったり、警告だったり、エラーだったりするわけです。

どんな種類であっても、メッセージを表示する/しないの制御ができます。
それが
display_errors
です。Onにすると表示、Offにすると非表示になります。

そして、メッセージの種類のどれを表示するかしないかの指定ができるようになっています。
それが
error_reporting
です。

これらのパラメータを、どこに、どんなふうに記述するのか(apacheのコンフィグ、PHPプログラム内、.htaccess内など)はいろいろありますが、今回はさくらのレンタルサーバーについて、具体的な例で説明します。
PHPは7.3です。

さくらのレンサバのそれぞれの既定値は
display_errors On
error_reporting 4177
です。
しかし、コンパネから1回でもphp.iniを作ってしまうと、phpinfoでは、
error_reporting No Value
になります。んーー、意味がわかりません。
この時も、error_reporting 4177 だと思います。

ちなみに、PHP5.3以上の既定値は、
error_reporting E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
です。 参照→ https://www.php.net/manual/ja/errorfunc.configuration.php#ini.error-reporting
これは、error_reporting 22519
と書くこともできます。
E_NOTICEなどの定義済みの定数は以下で確認できます。
https://www.php.net/manual/ja/errorfunc.constants.php

E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED が 22519 であること(※1)を確認する方法としては、
さくらのレンサバにSSHで接続して、
php -r 'echo E_ALL & ~E_DEPRECATED & ~E_NOTICE & ~E_STRICT,"\n";'
というコマンドを叩くと確認できます。

というわけで、
PHP5.3以上のさくらのレンサバではない通常のデフォルトの設定をさくらのレンサバに行うにはは、
さくらのコンパネまたはFTPで、DocumentRoot直下のphp.iniへ

display_errors = On
error_reporting = "22519"

と書けばOKです。
くどいですが、さくらの既定値にする場合は、error_reporting 4177 です。

そうなると、4177って何?ということになると思うのですが、

PHP error_reporting の整数値から、どのフラグが有効か可視化できるサービス Peflagger
http://gongo.hatenablog.com/entry/2014/08/25/080235

という素晴らしい記事がありまして、そこの Peflagger ページで確認できます。
4177は
●E_ERROR 1 重大な実行時エラー。これは、メモリ確保に関する問題のように復帰で きないエラーを示します。スクリプトの実行は中断されます。
●E_CORE_ERROR 16 PHPの初期始動時点での致命的なエラー。E_ERRORに 似ているがPHPのコアによって発行される点が違う。
●E_COMPILE_ERROR 64 コンパイル時の致命的なエラー。E_ERRORに 似ているがZendスクリプティングエンジンによって発行される点が違う。
●E_RECOVERABLE_ERROR 4096 キャッチできる致命的なエラー。危険なエラーが発生したが、 エンジンが不安定な状態になるほどではないことを表す。 ユーザー定義のハンドラでエラーがキャッチされなかった場合 (set_error_handler() も参照ください) は、 E_ERROR として異常終了する。
という内容です。

22519は
●E_ERROR 1 重大な実行時エラー。これは、メモリ確保に関する問題のように復帰で きないエラーを示します。スクリプトの実行は中断されます。
●E_WARNING 2 実行時の警告 (致命的なエラーではない)。スクリプトの実行は中断さ れません。
●E_PARSE 4 コンパイル時のパースエラー。パースエラーはパーサでのみ生成されま す。
●E_CORE_ERROR 16 PHPの初期始動時点での致命的なエラー。E_ERRORに 似ているがPHPのコアによって発行される点が違う。
●E_CORE_WARNING 32 (致命的ではない)警告。PHPの初期始動時に発生する。 ●E_WARNINGに似ているがPHPのコアによって発行される 点が違う。
●E_COMPILE_ERROR 64 コンパイル時の致命的なエラー。E_ERRORに 似ているがZendスクリプティングエンジンによって発行される点が違う。
●E_COMPILE_WARNING 128 コンパイル時の警告(致命的ではない)。E_WARNINGに 似ているがZendスクリプティングエンジンによって発行される点が違う。
●E_USER_ERROR 256 ユーザーによって発行されるエラーメッセージ。E_ERROR に似ているがPHPコード上でtrigger_error()関数を 使用した場合に発行される点が違う。
●E_USER_WARNING 512 ユーザーによって発行される警告メッセージ。E_WARNING に似ているがPHPコード上でtrigger_error()関数を 使用した場合に発行される点が違う。
●E_USER_NOTICE 1024 ユーザーによって発行される注意メッセージ。E_NOTICEに に似ているがPHPコード上でtrigger_error()関数を 使用した場合に発行される点が違う。
●E_RECOVERABLE_ERROR 4096 キャッチできる致命的なエラー。危険なエラーが発生したが、 エンジンが不安定な状態になるほどではないことを表す。 ユーザー定義のハンドラでエラーがキャッチされなかった場合 (set_error_handler() も参照ください) は、 E_ERROR として異常終了する。PHP 5.2.0 より
●E_USER_DEPRECATED 16384 ユーザー定義の警告メッセージ。これは E_DEPRECATED と同等だが、 PHP のコード上で関数 trigger_error() によって作成されるという点が異なる。PHP 5.3.0 より
です。
※1に書いてあるのとちがうじゃん...ですが、
※1は E_ALL から E_NOTICE E_STRICT E_DEPRECATED の3つをオフにする書き方で、結果は同じです。

最後に、お役立ちパターンをいくつかご紹介して、おしまいにします。
E_ALL & ~E_DEPRECATED & ~E_NOTICE & ~E_STRICT & ~E_WARNING → 22517
E_ALL & ~E_DEPRECATED & ~E_NOTICE & ~E_WARNING → 24565
E_ALL & ~E_NOTICE & ~E_WARNING → 37757

error_reporting_value.png

ぐっどらっこ。