ฉันได้ตั้งค่าเซิร์ฟเวอร์อีเมลที่บ้านด้วย dovecot เพื่อดาวน์โหลดและเก็บถาวรอีเมลจากบัญชีเว็บเมลหลายบัญชีผ่าน IMAP เป้าหมายคือการทำเช่นนี้โดยอัตโนมัติทุกสัปดาห์ด้วยงาน cron
ฉันไม่แน่ใจว่าฉันควรใช้ dovecot sync/backup หรือ fetchmail แต่อันหลังเป็นที่นิยม ฉันลองใช้ fetchmail ก่อน อย่างไรก็ตาม ดูเหมือนจะไม่ทำงาน ฉันได้รับสิ่งนี้:
user@mail:~$ fetchmail
38081 ข้อความสำหรับ [email protected] ที่ imap.fastmail.com (โฟลเดอร์เก็บถาวร)
fetchmail: เกิดข้อผิดพลาดในการเขียนไปยัง MDA: ไปป์เสีย
กำลังอ่านข้อความ [email protected]@imap.fastmail.com:1 จาก 38081 (ออคเต็ตส่วนหัว 2,100 รายการ) (ออคเต็ตเนื้อหา 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.Archive"
โฟลเดอร์ .fastmail.Archive อยู่ที่รูทของ ~/Maildir ฉันใช้ Maildir ในการกำหนดค่า dovecot
ใน ~/.netrc ฉันมีดังต่อไปนี้:
เครื่อง imap.fastmail.com
เข้าสู่ระบบ [email protected]
รหัสผ่าน <ความลับ>
ฉันยังเรียกใช้การส่งมอบด้วยตนเองโดยใช้ strace ในฐานะรูท และฉันไม่ได้รับข้อความใด ๆ ที่ส่งมาเมื่อฉันตรวจสอบ ~/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 vars */) = 0
brk(โมฆะ) = 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(โมฆะ, 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(โมฆะ, 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(โมฆะ, 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(โมฆะ, 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(โมฆะ, 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(โมฆะ, 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
munmap(0x7f99e4420000, 35918) = 0
getuid() = 0
geteuid() = 0
สุ่ม ("\x1c\x75\x34\x6d", 4, 0) = 4
brk(โมฆะ) = 0x5593bc6d8000
brk(0x5593bc6f9000) = 0x5593bc6f9000
uname({sysname="Linux", nodename="mail", ...}) = 0
getpid() = 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
geteuid() = 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
อูมาสก์(077) = 022
ซ็อกเก็ต (AF_UNIX, SOCK_STREAM, 0) = 7
fcntl(7, F_GETFL) = 0x2 (แฟล็ก O_RDWR)
fcntl(7, F_SETFL, O_RDWR|O_NONBLOCK) = 0
เชื่อมต่อ (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
เขียน (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
อ่าน (7, "\nmail_privileged_group=mail\nname"..., 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
อ่าน (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
อ่าน (7, "# Dynamic 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
อ่าน (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(โมฆะ, 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(โมฆะ, 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
munmap(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/certs", 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
เชื่อมต่อ (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
เขียน (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
อ่าน (7, "เวอร์ชัน\tstats-เซิร์ฟเวอร์\t3\t0\nตัวกรอง\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, 0x7fffbb150b1c) = 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
เชื่อมต่อ (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
เชื่อมต่อ (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 (ไม่รองรับการทำงาน)
เขียน (9, "เวอร์ชัน\t1\t0\nUSER\t1\tuser@loca"..., 50) = 50
epoll_wait(10, [{EPOLLIN, {u32=3161406112, u64=94093009959584}}], 2, 155000) = 1
อ่าน (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, 0x7fffbb150c7c) = 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
exit_group(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
mail_location = maildir:~/เมลเดียร์
mail_privileged_group = เมล
เนมสเปซกล่องจดหมาย {
กล่องจดหมาย = ใช่
ที่ตั้ง =
กล่องจดหมายที่เก็บถาวร {
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/certs
ssl_dh = # ซ่อน ใช้ -P เพื่อแสดง
ssl_key = # ซ่อน ใช้ -P เพื่อแสดง
userdb {
ไดรเวอร์ = รหัสผ่าน wd
}
สิทธิ์ของ /var/run/dovecot/สถิติ
root@mail:/etc/dovecot# ls -l /var/run/dovecot/*stat*
srw ------- 1 รูทรูท 0 9 ส.ค. 13:37 /var/run/dovecot/old-stats
prw ------- 1 รูทรูท 0 9 ส.ค. 13:37 /var/run/dovecot/old-stats-mail
prw ------- 1 รูทรูท 0 9 ส.ค. 13:37 /var/run/dovecot/old-stats-user
srw ------- 1 รูทรูท 0 9 ส.ค. 13:37 /var/run/dovecot/stats-reader
srw-rw---- 1 รูท dovecot 0 9 ส.ค. 13:37 /var/run/dovecot/stats-writer
มีแนวคิดใดบ้างที่อาจผิดพลาด และจะดีกว่าไหมถ้าใช้ dovecot sync/backup สำหรับสิ่งนี้