当サイトはプロモーションが含まれています。

qmailの「warning: trouble opening remote… will try again later」エラーをなおす

郵便箱

qmailで以下のようなエラーがログに残るようになった時の対処法。

qmail: 1465138804.770666 warning: trouble opening remote/18/76416184; will try again later
qmail: 1465138804.890408 warning: trouble opening remote/16/47186839; will try again later
qmail: 1465138804.915851 warning: trouble opening remote/14/76418618; will try again later
qmail: 1465138804.944009 warning: trouble opening remote/19/76418554; will try again later
qmail: 1465138804.971071 warning: trouble opening remote/16/45094690; will try again later

参考にしたサイトによると、「/var/qmail/queue」で整合性が取れなくなったのが原因らしい。
特に手動で弄ったりした記憶はないけど、アンチウィルスをかましているので、それでなったのかもしれません。

参考にしたサイト

【ただの技術備忘録】qmailエラー warning: trouble opening を解決するために出来ること – 糸瓜京の日記

修復手順

1.「queue-fix」をダウンロード

[root@server ~]# wget http://www.netmeridian.com/e-huss/queue-fix.tar.gz
--2016-06-07 17:55:42--  http://www.netmeridian.com/e-huss/queue-fix.tar.gz
www.netmeridian.com をDNSに問いあわせています... 206.111.143.94
www.netmeridian.com|206.111.143.94|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 18486 (18K) [application/x-gzip]
`queue-fix.tar.gz' に保存中

100%[==========================================================>] 18,486      85.2K/s 時間 0.2s

2016-06-07 17:55:43 (85.2 KB/s) - `queue-fix.tar.gz' へ保存完了 [18486/18486]

2.ダウンロードした「queue-fix」を解凍

[root@server ~]# tar zxvf queue-fix.tar.gz
queue-fix-1.4/
queue-fix-1.4/CHANGES
queue-fix-1.4/Makefile
...

3.「error.h」を修正

このまま、makeするとエラーになるので「error.h」を修正します。

[root@server ~]# cd queue-fix-1.4

[root@server queue-fix-1.4]# vi error.h

#ifndef ERROR_H
#define ERROR_H

▼コメントアウト
//extern int errno;
▼追記
#include <errno.h>

extern int error_intr;
extern int error_nomem;
...

extern char *error_str();
extern int error_temp();

#endif

4.makeして実行

makeして実行しますが、qmailを停止したりqueueの中身を消す必要はないかもしれません。
ただ、筆者の試した環境だと、queueの中身を消さずに修復したら2日後に再発しました。

[root@server queue-fix-1.4]# make

[root@server queue-fix-1.4]# service qmail stop
[root@server queue-fix-1.4]# rm -rf /var/qmail/queue/*
[root@server queue-fix-1.4]# ./queue-fix /var/qmail/queue/
[root@server queue-fix-1.4]# service qmail start