BLU Discuss list archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Discuss] Mailcheck not showing new mail
- Subject: [Discuss] Mailcheck not showing new mail
- From: bill at horne.net (Bill Horne)
- Date: Sun, 10 Aug 2014 21:41:00 -0400
- In-reply-to: <53E7DDC4.4080302@gmail.com>
- References: <53E69BF6.4020507@horne.net> <53E6E1D3.9090202@gmail.com> <53E7A114.7060403@horne.net> <53E7DDC4.4080302@gmail.com>
>Bill Horne wrote: >> The result of running "mailcheck -cs" without a local .mailcheckrc is >> "no new mail." when there is mail in the mailbox, and no output when the >> mailbox is empty. It *is* paying attention to the mail spool, albeit not >> in the way I want. What's up with that? >> ...why it would be able to tell the difference between a spool file >> with <anything> in it, or <nothing> in it, but not signal if the file >> has new mail? > With Maildir detecting new mail is simply a matter of looking for the > presence of files in a 'new' subdirectory. If I recall, with mbox > files the file has to be parsed and the headers of each message > examined. There needs to be coordination between how the MUA marks > messages as read and the mail checking tool. Maybe there is a > disagreement between mailcheck and your MUA. > The documentation on mailcheck seems sparse. It doesn't even state > what the default behavior is if there are no config files. To > understand what it is doing would require using strace and/or > examining the source. > (I'd try running "strace -o/tmp/mailcheck ..." then grep > /tmp/mailcheck for /var to see what spool files it is accessing. If > you spot an open() syscall, it'll return a file descriptor, and then > you can look for subsequent syscalls (like read() and stat()) on that > descriptor to see what it is doing with the file.) Here's the output file after I renamed .mailcheckrc: /etc/mailcheckrc has only comments. execve("/usr/bin/mailcheck", ["mailcheck"], [/* 21 vars */]) = 0 brk(0) = 0x82c000 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f4dca743000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=24081, ...}) = 0 mmap(NULL, 24081, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f4dca73d000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\320\37\2\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=1845024, ...}) = 0 mmap(NULL, 3953344, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f4dca15d000 mprotect(0x7f4dca319000, 2093056, PROT_NONE) = 0 mmap(0x7f4dca518000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1bb000) = 0x7f4dca518000 mmap(0x7f4dca51e000, 17088, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f4dca51e000 close(3) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f4dca73c000 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f4dca73a000 arch_prctl(ARCH_SET_FS, 0x7f4dca73a740) = 0 mprotect(0x7f4dca518000, 16384, PROT_READ) = 0 mprotect(0x7f4dca745000, 4096, PROT_READ) = 0 munmap(0x7f4dca73d000, 24081) = 0 brk(0) = 0x82c000 brk(0x84d000) = 0x84d000 open("/home/moder8/.mailcheckrc", O_RDONLY) = -1 ENOENT (No such file or directory) open("/etc/mailcheckrc", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=1446, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f4dca742000 read(3, "# mailcheckrc\tDefault configurat"..., 4096) = 1446 read(3, "", 4096) = 0 close(3) = 0 munmap(0x7f4dca742000, 4096) = 0 exit_group(0) = ? +++ exited with 0 +++ ... and here's the output file after .mailcheckrc was restored: execve("/usr/bin/mailcheck", ["mailcheck"], [/* 21 vars */]) = 0 brk(0) = 0x1643000 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f19bdc00000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=24081, ...}) = 0 mmap(NULL, 24081, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f19bdbfa000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\320\37\2\0\0\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=1845024, ...}) = 0 mmap(NULL, 3953344, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f19bd61a000 mprotect(0x7f19bd7d6000, 2093056, PROT_NONE) = 0 mmap(0x7f19bd9d5000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1bb000) = 0x7f19bd9d5000 mmap(0x7f19bd9db000, 17088, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f19bd9db000 close(3) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f19bdbf9000 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f19bdbf7000 arch_prctl(ARCH_SET_FS, 0x7f19bdbf7740) = 0 mprotect(0x7f19bd9d5000, 16384, PROT_READ) = 0 mprotect(0x7f19bdc02000, 4096, PROT_READ) = 0 munmap(0x7f19bdbfa000, 24081) = 0 brk(0) = 0x1643000 brk(0x1664000) = 0x1664000 open("/home/moder8/.mailcheckrc", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0664, st_size=101, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f19bdbff000 read(3, "/var/spool/mail/$(USER)\n/home/mo"..., 4096) = 101 stat("/var/spool/mail/moder8", {st_mode=S_IFREG|0660, st_size=0, ...}) = 0 stat("/home/moder8/Mail/obfuscate", {st_mode=S_IFREG|0600, st_size=0, ...}) = 0 stat("/home/moder8/Mail/anonymous", {st_mode=S_IFREG|0600, st_size=0, ...}) = 0 stat("/home/moder8/Mail/ok", {st_mode=S_IFREG|0660, st_size=0, ...}) = 0 read(3, "", 4096) = 0 close(3) = 0 munmap(0x7f19bdbff000, 4096) = 0 exit_group(0) = ? +++ exited with 0 +++ >> Also check to see if /etc/mailcheckrc exists and see what it points to. >> >> Another puzzle: on Ubuntu 14.04 LTS, it's all commented out. There is an >> entry that looks like >> >> #/var/spool/mail/$(USER) > By convention, a commented out config line often will indicate the > compiled-in defaults. (You can confirm that by running something like > "strings /usr/bin/mailcheck | fgrep /var" and see if it spits out a > similar looking path.) > That would imply it should work as expected without altering > /etc/mailcheckrc or adding an rc file. But you're saying you didn't > get the expected behavior until you added "/var/mail/moder8" to > .mailcheckrc? I didn't get any "new mail" indication until I installed my own .mailcheckrc file: prior to that, mailcheck would show "no new mail." if there was /any/ email in /var/mail/(my user id), and would give a (blank) result if the spool email file was empty. I ran "strings /usr/bin/mailcheck >/tmp/mailcheck_output.txt" ... while .mailcheckrc was absent. Here is the output, which does /not/ have "/var" in it. /lib64/ld-linux-x86-64.so.2 __gmon_start__ libc.so.6 socket fflush strcpy exit readdir fopen strncmp strrchr __strdup perror connect closedir strncpy puts __stack_chk_fail getpw fgets strlen strstr herror getopt fclose __strtol_internal malloc strcat opendir getenv __ctype_b_loc sscanf optarg stderr gethostbyname fwrite strchr fprintf fdopen __xstat strcmp __libc_start_main snprintf free GLIBC_2.4 GLIBC_2.3 GLIBC_2.2.5 %z4 %r4 %j4 %b4 %Z4 %R4 %J4 %B4 %:4 %24 %*4 %"4 =i3 ATUH []A\A]A^A_ |$ O |$ R fffff. $INBOfA T$ H Ot~H =j) *t1H = ) T$ H =l' +t7H +t&H ='& AUATUS []A\A]L []A\A]L ffffff. AVAUI []A\A]A^ =n# ffff. ffffff. ATUSH =j =" D$HH9D$XHc []A\ []A\ ~|Hc D$HH9D$X []A\ ffffff. l$ H fffff. AVAUATUSH t$ E1 t/E1 []A\A]A^A_ \$ H l$(L d$0H fffff. l$ L t$(L |$0H Usage: mailcheck [-bchls] [-f rcfile] Options: -b - brief output mode -c - use more advanced counting method for mboxes and maildirs -l - login mode, honor ~/.hushlogin file -s - show "no mail" summary, if no new mail was found -f - specify alternative rcfile location -h - show this help screen mailcheck: failed to stat file: %s mailcheck: unable to open mbox %s error: couldn't open rcfile '%s' mailcheck: couldn't open /etc/mailcheckrc nor %s/.mailcheckrc mailcheck: WARNING! %s may be readable by other users. mailcheck: Type "chmod 0600 %s" to correct the permissions. mailcheck: WARNING! %s could not be read. mailcheck: Unable to get login information for %s mailcheck: Not Connected To Server '%s:%d' mailcheck: Unable to check IMAP mailbox '%s@%s:%d' a003 STATUS %s (MESSAGES UNSEEN) mailcheck: Error Receiving Stats '%s@%s:%d' * STATUS %*s (MESSAGES %d UNSEEN %d) mailcheck: Invalid User Name '%s@%s:%d' mailcheck: Incorrect Password for user '%s@%s:%d' mailcheck: Error Receiving STAT '%s@%s:%d' mailcheck: ooops, unsupported experimental info semantics on %s/%s You have %d new and %d unread messages in %s You have %d unread messages in %s %s: %d new and %d unread message(s) %s: no new mail, %d unread message(s) mailcheck: %s is not a valid maildir -- skipping. You have %d new and %d saved messages in %s You have %d new messages in %s %s: %d new and %d saved message(s) mailcheck: error, %s is not mbox or maildir mailcheck: invalid line '%s' in rc-file You have %d saved messages in %s mailcheck: couldn't read environment variable HOME. bchlsf: %s/%s
- Follow-Ups:
- [Discuss] Mailcheck not showing new mail
- From: tmetro+blu at gmail.com (Tom Metro)
- [Discuss] Mailcheck not showing new mail
- References:
- [Discuss] Mailcheck not showing new mail
- From: bill at horne.net (Bill Horne)
- [Discuss] Mailcheck not showing new mail
- From: tmetro+blu at gmail.com (Tom Metro)
- [Discuss] Mailcheck not showing new mail
- From: bill at horne.net (Bill Horne)
- [Discuss] Mailcheck not showing new mail
- From: tmetro+blu at gmail.com (Tom Metro)
- [Discuss] Mailcheck not showing new mail
- Prev by Date: [Discuss] Mailcheck not showing new mail
- Next by Date: [Discuss] Mailcheck not showing new mail
- Previous by thread: [Discuss] Mailcheck not showing new mail
- Next by thread: [Discuss] Mailcheck not showing new mail
- Index(es):