Рейтинг:1

мда сломана труба с fetchmail/dovecot

флаг us

Я настроил домашний почтовый сервер с dovecot для загрузки и архивирования электронной почты с нескольких учетных записей веб-почты через IMAP. Цель состоит в том, чтобы делать это автоматически каждую неделю с заданием cron.

Я не уверен, следует ли мне использовать синхронизацию/резервное копирование dovecot или fetchmail, но последняя популярная, и я сначала попробовал fetchmail. Однако, похоже, это не работает, я получаю это:

пользователь@mail:~$ fetchmail
38081 сообщения для [email protected] на imap.fastmail.com (папка Архив).
fetchmail: ошибка записи в MDA: сломан канал
чтение сообщения [email protected]@imap.fastmail.com:1 из 38081 (2100 октетов заголовка) (726 октетов тела) не очищено
чтение сообщения [email protected]@imap.fastmail.com:2 из 38081 (4404 октета заголовка) (6082 октета тела)fetchmail: ошибка записи текста сообщения
fetchmail: ошибка MDA при получении с [email protected]@imap.fastmail.com
fetchmail: статус запроса = 6 (IOERR)

~/.fetchmailrc выглядит так:

опрос imap.fastmail.com протокол IMAP
     пользователь "[email protected]" здесь "user@localhost"
     папка Архив
     ssl-выборка
     mda "/usr/lib/dovecot/deliver -d user@localhost -m .fastmail.Архив"

Папка .fastmail.Archive находится в корне каталога ~/Maildir. Я использую Maildir в своей конфигурации dovecot.

в ~/.netrc у меня есть следующее:

машина imap.fastmail.com
логин [email protected]
пароль <секрет>

Я также запустил доставку вручную, используя strace от имени пользователя root, и я не получаю никаких сообщений, когда после этого проверяю ~/Maildir. Вот вывод, не знаю, что с этим делать.

root@mail:/home/user/fastmail# strace /usr/lib/dovecot/deliver -d user@localhost < 'test.eml'
execve("/usr/lib/dovecot/deliver", ["/usr/lib/dovecot/deliver", "-d", "user@localhost"], 0x7ffcd6f61be0 /* 12 переменных */) = 0
брк(НОЛЬ) = 0x5593bc6d8000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (Нет такого файла или каталога)
openat(AT_FDCWD, "/usr/lib/dovecot/tls/x86_64/x86_64/libdovecot-lda.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (Нет такого файла или каталога)
stat("/usr/lib/dovecot/tls/x86_64/x86_64", 0x7fffbb1506b0) = -1 ENOENT (Нет такого файла или каталога)
openat(AT_FDCWD, "/usr/lib/dovecot/tls/x86_64/libdovecot-lda.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (Нет такого файла или каталога)
stat("/usr/lib/dovecot/tls/x86_64", 0x7fffbb1506b0) = -1 ENOENT (Нет такого файла или каталога)
openat(AT_FDCWD, "/usr/lib/dovecot/tls/x86_64/libdovecot-lda.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (Нет такого файла или каталога)
stat("/usr/lib/dovecot/tls/x86_64", 0x7fffbb1506b0) = -1 ENOENT (Нет такого файла или каталога)
openat(AT_FDCWD, "/usr/lib/dovecot/tls/libdovecot-lda.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (Нет такого файла или каталога)
stat("/usr/lib/dovecot/tls", 0x7fffbb1506b0) = -1 ENOENT (Нет такого файла или каталога)
openat(AT_FDCWD, "/usr/lib/dovecot/x86_64/x86_64/libdovecot-lda.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (Нет такого файла или каталога)
stat("/usr/lib/dovecot/x86_64/x86_64", 0x7fffbb1506b0) = -1 ENOENT (Нет такого файла или каталога)
openat(AT_FDCWD, "/usr/lib/dovecot/x86_64/libdovecot-lda.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (Нет такого файла или каталога)
stat("/usr/lib/dovecot/x86_64", 0x7fffbb1506b0) = -1 ENOENT (Нет такого файла или каталога)
openat(AT_FDCWD, "/usr/lib/dovecot/x86_64/libdovecot-lda.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (Нет такого файла или каталога)
stat("/usr/lib/dovecot/x86_64", 0x7fffbb1506b0) = -1 ENOENT (Нет такого файла или каталога)
openat(AT_FDCWD, "/usr/lib/dovecot/libdovecot-lda.so.0", O_RDONLY|O_CLOEXEC) = 3
читать(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\3206\0 \0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=34968, ...}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f99e4722000
mmap(NULL, 37136, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f99e4718000
mmap(0x7f99e471b000, 12288, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7f99e471b000
mmap(0x7f99e471e000, 8192, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6000) = 0x7f99e471e000
mmap(0x7f99e4720000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x7000) = 0x7f99e4720000
близко (3) = 0
openat(AT_FDCWD, "/usr/lib/dovecot/libdovecot-storage.so.0", O_RDONLY|O_CLOEXEC) = 3
читать(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0000\332\3 \0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=1436376, ...}) = 0
mmap(NULL, 1439128, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f99e45b8000
mprotect(0x7f99e45ee000, 1167360, PROT_NONE) = 0
mmap(0x7f99e45ee000, 856064, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x36000) = 0x7f99e45ee000
mmap(0x7f99e46bf000, 307200, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x107000) = 0x7f99e46bf000
mmap(0x7f99e470b000, 53248, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x152000) = 0x7f99e470b000
близко (3) = 0
openat(AT_FDCWD, "/usr/lib/dovecot/libdovecot.so.0", O_RDONLY|O_CLOEXEC) = 3
читать(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\300\337 \3\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=1619272, ...}) = 0
mmap(NULL, 1632856, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f99e4429000
mmap(0x7f99e4460000, 909312, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x37000) = 0x7f99e4460000
mmap(0x7f99e453e000, 450560, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x115000) = 0x7f99e453e000
mmap(0x7f99e45ac000, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x182000) = 0x7f99e45ac000
mmap(0x7f99e45b5000, 10840, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f99e45b5000
близко (3) = 0
openat(AT_FDCWD, "/usr/lib/dovecot/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (Нет такого файла или каталога)
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=35918, ...}) = 0
mmap(NULL, 35918, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f99e4420000
близко (3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
читать(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260A\2 \0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1824496, ...}) = 0
mmap(NULL, 1837056, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f99e425f000
mprotect(0x7f99e4281000, 1658880, PROT_NONE) = 0
mmap(0x7f99e4281000, 1343488, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x22000) = 0x7f99e4281000
mmap(0x7f99e43c9000, 311296, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x16a000) = 0x7f99e43c9000
mmap(0x7f99e4416000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1b6000) = 0x7f99e4416000
mmap(0x7f99e441c000, 14336, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f99e441c000
закрыть (3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3
читать(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0000\21\0 \0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=14592, ...}) = 0
mmap(NULL, 16656, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f99e425a000
mmap(0x7f99e425b000, 4096, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0x7f99e425b000
mmap(0x7f99e425c000, 4096, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7f99e425c000
mmap(0x7f99e425d000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7f99e425d000
закрыть (3) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f99e4258000
arch_prctl(ARCH_SET_FS, 0x7f99e4259000) = 0
mprotect(0x7f99e4416000, 16384, PROT_READ) = 0
mprotect(0x7f99e425d000, 4096, PROT_READ) = 0
mprotect(0x7f99e45ac000, 32768, PROT_READ) = 0
mprotect(0x7f99e470b000, 28672, PROT_READ) = 0
mprotect(0x7f99e4720000, 4096, PROT_READ) = 0
mprotect(0x5593baf97000, 4096, PROT_READ) = 0
mprotect(0x7f99e474b000, 4096, PROT_READ) = 0
мунмап(0x7f99e4420000, 35918) = 0
получитьид () = 0
получитьэуид () = 0
getrandom("\x1c\x75\x34\x6d", 4, 0) = 4
брк(НОЛЬ) = 0x5593bc6d8000
брк(0x5593bc6f9000) = 0x5593bc6f9000
uname({sysname="Linux", nodename="mail", ...}) = 0
получитьпид () = 7234
openat(AT_FDCWD, "/dev/null", O_WRONLY) = 3
fcntl(3, F_GETFD) = 0
fcntl(3, F_SETFD, FD_CLOEXEC) = 0
rt_sigaction(SIGPIPE, {sa_handler=SIG_IGN, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7f99e4296840}, NULL, 8) = 0
rt_sigaction(SIGALRM, {sa_handler=0x7f99e4520210, sa_mask=[], sa_flags=SA_RESTORER|SA_SIGINFO, sa_restorer=0x7f99e4296840}, NULL, 8) = 0
получитьэуид () = 0
rt_sigaction(SIGINT, {sa_handler=0x7f99e4520c20, sa_mask=[], sa_flags=SA_RESTORER|SA_SIGINFO, sa_restorer=0x7f99e4296840}, NULL, 8) = 0
труба ([4, 5]) = 0
fcntl(4, F_GETFL) = 0 (флаги O_RDONLY)
fcntl(4, F_SETFL, O_RDONLY|O_NONBLOCK) = 0
fcntl(5, F_GETFL) = 0x1 (флаги O_WRONLY)
fcntl(5, F_SETFL, O_WRONLY|O_NONBLOCK) = 0
fcntl(4, F_GETFD) = 0
fcntl(4, F_SETFD, FD_CLOEXEC) = 0
fcntl(5, F_GETFD) = 0
fcntl(5, F_SETFD, FD_CLOEXEC) = 0
epoll_create(128) = 6
fcntl(6, F_GETFD) = 0
fcntl(6, F_SETFD, FD_CLOEXEC) = 0
epoll_ctl(6, EPOLL_CTL_ADD, 4, {EPOLLIN|EPOLLPRI|EPOLLERR|EPOLLHUP, {u32=3161333872, u64=94093009887344}}) = 0
rt_sigaction(SIGTERM, {sa_handler=0x7f99e4520c20, sa_mask=[], sa_flags=SA_RESTORER|SA_SIGINFO, sa_restorer=0x7f99e4296840}, NULL, 8) = 0
umask(077) = 022
сокет (AF_UNIX, SOCK_STREAM, 0) = 7
fcntl(7, F_GETFL) = 0x2 (флаги O_RDWR)
fcntl(7, F_SETFL, O_RDWR|O_NONBLOCK) = 0
connect(7, {sa_family=AF_UNIX, sun_path="/var/run/dovecot/config"}, 110) = 0
fcntl(7, F_GETFL) = 0x802 (флаги O_RDWR|O_NONBLOCK)
fcntl(7, F_SETFL, O_RDWR) = 0
write(7, "VERSION\tconfig\t2\t0\nREQ\tmodule=ld"..., 70) = 70
fstat(7, {st_mode=S_IFSOCK|0777, st_size=0, ...}) = 0
fcntl(7, F_GETFL) = 0x2 (флаги O_RDWR)
тревога(10) = 0
read(7, "\nmail_привилегированная_группа=почта\nимя"..., 8192) = 810
тревога (0) = 10
близко (7) = 0
stat("/etc/resolv.conf", {st_mode=S_IFREG|0644, st_size=174, ...}) = 0
openat(AT_FDCWD, "/etc/host.conf", O_RDONLY|O_CLOEXEC) = 7
fstat(7, {st_mode=S_IFREG|0644, st_size=9, ...}) = 0
read(7, "множество\n", 4096) = 9
читать(7, "", 4096) = 0
близко (7) = 0
openat(AT_FDCWD, "/etc/resolv.conf", O_RDONLY|O_CLOEXEC) = 7
fstat(7, {st_mode=S_IFREG|0644, st_size=174, ...}) = 0
read(7, "# Динамический файл resolv.conf(5) для"..., 4096) = 174
читать(7, "", 4096) = 0
близко (7) = 0
uname({sysname="Linux", nodename="mail", ...}) = 0
сокет (AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 7
connect(7, {sa_family=AF_UNIX, sun_path="/var/run/nscd/socket"}, 110) = -1 ENOENT (Нет такого файла или каталога)
близко (7) = 0
сокет (AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 7
connect(7, {sa_family=AF_UNIX, sun_path="/var/run/nscd/socket"}, 110) = -1 ENOENT (Нет такого файла или каталога)
близко (7) = 0
openat(AT_FDCWD, "/etc/nsswitch.conf", O_RDONLY|O_CLOEXEC) = 7
fstat(7, {st_mode=S_IFREG|0644, st_size=526, ...}) = 0
read(7, "# /etc/nsswitch.conf\n#\n# Пример"..., 4096) = 526
читать(7, "", 4096) = 0
близко (7) = 0
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 7
fstat(7, {st_mode=S_IFREG|0644, st_size=35918, ...}) = 0
mmap(NULL, 35918, PROT_READ, MAP_PRIVATE, 7, 0) = 0x7f99e4420000
близко (7) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libnss_files.so.2", O_RDONLY|O_CLOEXEC) = 7
читать(7, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0003\0 \0\0\0\0\0"..., 832) = 832
fstat(7, {st_mode=S_IFREG|0644, st_size=55792, ...}) = 0
mmap(NULL, 83768, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 7, 0) = 0x7f99e4243000
mprotect(0x7f99e4246000, 40960, PROT_NONE) = 0
mmap(0x7f99e4246000, 28672, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 7, 0x3000) = 0x7f99e4246000
mmap(0x7f99e424d000, 8192, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 7, 0xa000) = 0x7f99e424d000
mmap(0x7f99e4250000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 7, 0xc000) = 0x7f99e4250000
mmap(0x7f99e4252000, 22328, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f99e4252000
близко (7) = 0
mprotect(0x7f99e4250000, 4096, PROT_READ) = 0
мунмап(0x7f99e4420000, 35918) = 0
openat(AT_FDCWD, "/etc/hosts", O_RDONLY|O_CLOEXEC) = 7
lseek(7, 0, SEEK_CUR) = 0
fstat(7, {st_mode=S_IFREG|0644, st_size=210, ...}) = 0
читать(7, "127.0.0.1\tlocalhost\n192.168.1.24"..., 4096) = 210
lseek(7, 0, SEEK_CUR) = 210
читать(7, "", 4096) = 0
близко (7) = 0
доступ("/etc/ssl/сертификаты", X_OK) = 0
сокет (AF_UNIX, SOCK_STREAM, 0) = 7
fcntl(7, F_GETFL) = 0x2 (флаги O_RDWR)
fcntl(7, F_SETFL, O_RDWR|O_NONBLOCK) = 0
connect(7, {sa_family=AF_UNIX, sun_path="/var/run/dovecot/stats-writer"}, 110) = 0
fstat(7, {st_mode=S_IFSOCK|0777, st_size=0, ...}) = 0
fcntl(7, F_GETFL) = 0x802 (флаги O_RDWR|O_NONBLOCK)
epoll_ctl(6, EPOLL_CTL_ADD, 7, {EPOLLIN|EPOLLPRI|EPOLLERR|EPOLLHUP, {u32=3161385712, u64=94093009939184}}) = 0
write(7, "ВЕРСИЯ\tstats-client\t3\t0\n", 25) = 25
epoll_ctl(6, EPOLL_CTL_DEL, 4, 0x7fffbb150b0c) = 0
epoll_create(128) = 8
fcntl(8, F_GETFD) = 0
fcntl(8, F_SETFD, FD_CLOEXEC) = 0
epoll_ctl(8, EPOLL_CTL_ADD, 4, {EPOLLIN|EPOLLPRI|EPOLLERR|EPOLLHUP, {u32=3161395728, u64=94093009949200}}) = 0
epoll_ctl(8, EPOLL_CTL_ADD, 7, {EPOLLIN|EPOLLPRI|EPOLLERR|EPOLLHUP, {u32=3161395856, u64=94093009949328}}) = 0
epoll_ctl(6, EPOLL_CTL_DEL, 7, 0x7fffbb150b1c) = 0
epoll_wait(8, [{EPOLLIN, {u32=3161395856, u64=94093009949328}}], 2, -1) = 1
read(7, "ВЕРСИЯ\tstats-server\t3\t0\nFILTER\t"..., 8192) = 33
epoll_ctl(8, EPOLL_CTL_DEL, 4, 0x7fffbb150b2c) = 0
epoll_ctl(6, EPOLL_CTL_ADD, 4, {EPOLLIN|EPOLLPRI|EPOLLERR|EPOLLHUP, {u32=3161333872, u64=94093009887344}}) = 0
epoll_ctl(6, EPOLL_CTL_ADD, 7, {EPOLLIN|EPOLLPRI|EPOLLERR|EPOLLHUP, {u32=3161385712, u64=94093009939184}}) = 0
epoll_ctl(8, EPOLL_CTL_DEL, 7, 0x7ffffbb150b1c) = 0
epoll_ctl(6, EPOLL_CTL_DEL, 4, 0x7fffbb150b2c) = 0
epoll_ctl(8, EPOLL_CTL_ADD, 4, {EPOLLIN|EPOLLPRI|EPOLLERR|EPOLLHUP, {u32=3161395728, u64=94093009949200}}) = 0
epoll_ctl(8, EPOLL_CTL_DEL, 4, 0x7fffbb150aec) = 0
epoll_ctl(6, EPOLL_CTL_ADD, 4, {EPOLLIN|EPOLLPRI|EPOLLERR|EPOLLHUP, {u32=3161333872, u64=94093009887344}}) = 0
близко (8) = 0
сокет (AF_UNIX, SOCK_DGRAM|SOCK_CLOEXEC, 0) = 8
connect(8, {sa_family=AF_UNIX, sun_path="/dev/log"}, 110) = 0
сокет (AF_UNIX, SOCK_STREAM, 0) = 9
fcntl(9, F_GETFL) = 0x2 (флаги O_RDWR)
fcntl(9, F_SETFL, O_RDWR|O_NONBLOCK) = 0
connect(9, {sa_family=AF_UNIX, sun_path="/var/run/dovecot/auth-userdb"}, 110) = 0
epoll_ctl(6, EPOLL_CTL_DEL, 4, 0x7fffbb150d5c) = 0
epoll_create(128) = 10
fcntl(10, F_GETFD) = 0
fcntl(10, F_SETFD, FD_CLOEXEC) = 0
epoll_ctl(10, EPOLL_CTL_ADD, 4, {EPOLLIN|EPOLLPRI|EPOLLERR|EPOLLHUP, {u32=3161405440, u64=94093009958912}}) = 0
fstat(9, {st_mode=S_IFSOCK|0777, st_size=0, ...}) = 0
fcntl(9, F_GETFL) = 0x802 (флаги O_RDWR|O_NONBLOCK)
lseek(9, 0, SEEK_CUR) = -1 ESPIPE (недопустимый поиск)
getsockname(9, {sa_family=AF_UNIX}, [28->2]) = 0
epoll_ctl(10, EPOLL_CTL_ADD, 9, {EPOLLIN|EPOLLPRI|EPOLLERR|EPOLLHUP, {u32=3161406112, u64=94093009959584}}) = 0
setsockopt(9, SOL_TCP, TCP_CORK, [1], 4) = -1 EOPNOTSUPP (Операция не поддерживается)
write(9, "ВЕРСИЯ\t1\t0\nПОЛЬЗОВАТЕЛЬ\t1\tuser@loca"..., 50) = 50
epoll_wait(10, [{EPOLLIN, {u32=3161406112, u64=94093009959584}}], 2, 155000) = 1
read(9, "ВЕРСИЯ\t1\t1\nSPID\t7235\n", 8192) = 22
epoll_wait(10, [{EPOLLIN, {u32=3161406112, u64=94093009959584}}], 2, 154984) = 1
читать(9, "НЕОБЫЧНО\t1\n", 8170) = 11
epoll_ctl(10, EPOLL_CTL_DEL, 4, 0x7fffbb150c7c) = 0
epoll_ctl(6, EPOLL_CTL_ADD, 4, {EPOLLIN|EPOLLPRI|EPOLLERR|EPOLLHUP, {u32=3161333872, u64=94093009887344}}) = 0
epoll_ctl(6, EPOLL_CTL_DEL, 4, 0x7ffffbb150c7c) = 0
epoll_ctl(10, EPOLL_CTL_ADD, 4, {EPOLLIN|EPOLLPRI|EPOLLERR|EPOLLHUP, {u32=3161405440, u64=94093009958912}}) = 0
epoll_ctl(10, EPOLL_CTL_DEL, 4, 0x7fffbb150d8c) = 0
epoll_ctl(6, EPOLL_CTL_ADD, 4, {EPOLLIN|EPOLLPRI|EPOLLERR|EPOLLHUP, {u32=3161333872, u64=94093009887344}}) = 0
epoll_ctl(6, EPOLL_CTL_DEL, 4, 0x7fffbb150d8c) = 0
epoll_ctl(10, EPOLL_CTL_ADD, 4, {EPOLLIN|EPOLLPRI|EPOLLERR|EPOLLHUP, {u32=3161405440, u64=94093009958912}}) = 0
epoll_ctl(10, EPOLL_CTL_DEL, 9, 0x7fffbb150dbc) = 0
epoll_ctl(10, EPOLL_CTL_DEL, 4, 0x7fffbb150d4c) = 0
epoll_ctl(6, EPOLL_CTL_ADD, 4, {EPOLLIN|EPOLLPRI|EPOLLERR|EPOLLHUP, {u32=3161333872, u64=94093009887344}}) = 0
близко (10) = 0
близко (9) = 0
epoll_ctl(6, EPOLL_CTL_DEL, 7, 0x7fffbb15105c) = 0
близко (7) = 0
epoll_ctl(6, EPOLL_CTL_DEL, 4, 0x7fffbb15105c) = 0
близко (4) = 0
близко (5) = 0
близко (6) = 0
закрыть (3) = 0
выход_группа (67) = ?
+++ вышел с 67 +++

вывод doveconf -n:

root@mail:/etc/dovecot# dovecot -n
# 2.3.4.1 (f79e8e7e4): /etc/dovecot/dovecot.conf
# Pigeonhole версии 0.5.4 ()
# ОС: Linux 4.19.0-17-amd64 x86_64 Debian 10.10
# Имя хоста: почта
mail_location = maildir:~/Maildir
почтовая_привилегированная_группа = почта
почтовый ящик пространства имен {
  входящие = да
  местоположение =
  почтовый ящик Архив {
    special_use = \ Архив
  }
  почтовый ящик Черновики {
    special_use = \ Черновики
  }
  почтовый ящик Нежелательная {
    special_use = \ Мусор
  }
  почтовый ящик отправлено {
    special_use = \Отправлено
  }
  почтовый ящик "Отправленные сообщения" {
    special_use = \Отправлено
  }
  почтовый ящик Корзина {
    special_use = \Корзина
  }
  префикс =
}
БД {
  водитель = Пэм
}
протоколы = "imap"
SSL = требуется
ssl_cert = </etc/letsencrypt/live/domain.com/fullchain.pem
ssl_client_ca_dir = /etc/ssl/сертификаты
ssl_dh = # скрыто, используйте -P, чтобы показать его
ssl_key = # скрыто, используйте -P, чтобы показать его
пользовательская база данных {
  водитель = пароль
}

разрешения /var/run/dovecot/статистика

root@mail:/etc/dovecot# ls -l /var/run/dovecot/*stat*
srw------- 1 root root 0 9 авг 13:37 /var/run/dovecot/old-stats
prw------- 1 root root 0 9 авг 13:37 /var/run/dovecot/old-stats-mail
prw------- 1 root root 0 9 августа 13:37 /var/run/dovecot/old-stats-user
srw------- 1 root root 0 9 авг 13:37 /var/run/dovecot/stats-reader
srw-rw---- 1 корневая голубятня 0 9 авг 13:37 /var/run/dovecot/stats-writer

Любые идеи, что может быть не так, и было бы лучше использовать для этого синхронизацию / резервное копирование dovecot?

anx avatar
флаг fr
anx
Пожалуйста, попробуйте отправить сообщение для доставки отдельно, я подозреваю, что это покажет вам сообщение об ошибке, которое вы не видите при вызове через fetchmail. например Вызывается ли `deliver` как пользователь, владеющий Maildir? (Кроме того, повторяющийся `fetchall` звучит странно, если вы действительно хотите использовать функции, которые включает в себя Dovecot)
флаг us
@anx Моя первоначальная идея состояла в том, чтобы использовать dsync (https://wiki2.dovecot.org/Migration/Dsync), но когда я прочитал об этом больше (https://wiki.dovecot.org/Tools/Doveadm/Sync), кажется, как будто это не очень подходит для моего сценария использования - я хочу загрузить электронную почту и удалить копии с сервера. Я не хочу, чтобы мои локальные папки IMAP синхронизировались с папками на удаленном сервере IMAP, я хочу убедиться, что сохраняю все свои локальные копии, даже если они были удалены с удаленного сервера. Итак, казалось бы, fetchmail — это то, что мне нужно? Я отправил сообщение в службу доставки, и я не получаю никаких ошибок, но это не работает.
anx avatar
флаг fr
anx
Использовали ли вы флаг `-e` для *печати* ошибок вместо отправки уведомления об отказе? Я считаю, что в любом случае у вас должно быть что-то в ваших журналах.
флаг us
@anx У меня нет /var/log/dovecot.log, я думаю, что все журналы ведутся в /var/log/syslog и т. д.Должен ли я дважды проверить где-нибудь в конфигурации dovecot, включено ли все ведение журнала? Я буду использовать флаг -e и отчитаюсь.
флаг us
Добавление @anx -e не имеет значения, я не получаю никаких сообщений об ошибках в командной строке.
Alien Life Form avatar
флаг ru
Пытаясь декодировать strace(1) (громоздко), я бы сказал, что он пытается сказать вам, что пользователь @localhost не может быть найден. Если это так, то он не знает ни о 'пользователе', ни о локальном хосте, ни о 'пользователе@локальном хосте'.
Рейтинг:1
флаг us

Оказывается, линия

     mda "/usr/lib/dovecot/deliver -d user@localhost -m .fastmail.Архив"

Не работает. Когда я удалил @localhost и исправил имя папки, все заработало:

     mda "/usr/lib/dovecot/deliver -d пользователь -m fastmail.Архив"

Чего я до сих пор не понимаю, так это почему я не получал никаких сообщений об ошибках, команда просто работает так, как будто она сработала, и я также ничего не вижу в журналах dovecot. По крайней мере, без включения параметров ведения журнала отладки. Приведенная выше ошибка поиска в выводе strace сбивает с толку, я не понимаю, какая связь между этим и удалением @localhost, устраняющим проблему.

anx avatar
флаг fr
anx
Разве fetchmail не может доставлять почту прямо в LMTP-сокет dovecot? Обычно вы получаете гораздо более полезную обратную связь (ошибки), когда используете полный протокол вместо простого канала к бинарному файлу lda.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.