GmailのPOPサーバーにおいて、メールの存在を認識できないことがある [Linux]
Gmail の POP サーバーにおいて、メールの存在を正しく認識できないことがある。
このため、クライアント側での既読情報の管理には工夫が必要である。
(例) (1) 時刻 X + 0 分の確認結果: 3 通のメールが存在 この時点でのクライアントの管理情報を下記のようにする。 ・未読のメール数/メールの総数: 3/3 その後、すべてのメールを参照し、クライアントの管理情報を下記のようにする。 ・未読のメール数/メールの総数: 0/3 (2) 時刻 X + 10 分の確認結果: メールなし ← 実際には 3 通のメールが存在 メールが存在しないため、既読メールに関する情報が初期化される。 よって、クライアントの管理情報は下記のようになる。 ・未読のメール数/メールの総数: 0/0 ← 正しくは 0/3 (3) 時刻 X + 20 分の確認結果: 3 通のメールが存在 3 通を新規メールと判断し、クライアントの管理情報は下記のようになる ・未読のメール数/メールの総数: 3/3 ← 正しくは 0/3 (4) メールの存在が認識される場合には、メールの UID は正しい値が得られる。
・メールが存在する場合に、メールなしと回答されることがある。
・発生頻度は低い。
2021-08 の上旬に数回発生した。
・少し時間をあけ再実行すると、正しい結果が得られる。
現在、10 分毎に確認を行っている。
・現時点では、Gmail 以外の POP サーバーでは発生していない。
・存在確認には、Perl の Mail::POP3Client.pm を使用したスクリプトを使用している。
2. 対処方法
上記のスクリプトに、下記の機能を追加する。
(1) クライアント側で既読情報を一定の期間保持する。
(変更前)
サーバー上で存在が確認されたメールの既読情報しか保持しない。
(変更後)
一度作成した既読情報は、メールなしと判断された後も一定期間保持する。
・例えば、メールなしと判断された後の 3 回目の確認時まで保持する。
CentOS 8でのネットワークの自動起動 [CentOS]
原因は、Network Manager の自動起動を無効化していたためである。
(環境構築の最後に、Network Manager の自動起動を無効化していた。)
CentOS 8 では、Network Manager を起動しないと、ネットワークが有効にならない。 (CentOS 7 では、このようなことは発生しない。)
Network Manager は余分なことをしようするため、個人的には使用したくない機能である。
以下は、CentOS 8 において、Network Manager を使用しない場合の設定に関する情報である。
1. 発生事象
CentOS 8 では、Network Manager を起動しないと、ネットワークが有効にならない。
2. 対処方法
下記のいずれかの手順を実施する。
(1) Network Manager を使用しない場合
(a) 下記のパッケージの追加を行う。
・network-scripts.x86_64 ・net-tools.x86_64 … ifconfig 等のコマンドを使用する場合
パッケージの依存関係により、下記のパッケージがインストールされる。
・network-scripts-team.x86_64
・bc.x86_64
(b) network.service を起動する。
# systemctl enable network # systamctl start network
(2) Network Manager を使用する場合
(a) Network Manager による /etc/resolv.conf の更新を無効化する。
/etc/NetworkManager/NetworkManager.conf に下記の設定を追加する。
[main] dns=none
(b) Network Manager を起動する。
# systemctl enable NetworkManager # systemctl start NetworkManager