I need to run Quicken on the lovely Carol's mac mini, so I ran over to OfficeMax
and picked up a copy of Quicken 2015, on sale with $10 off. I wish I had remembered
my $15 off gift card, which I guess will have to wait for another trip.
I ran the installation script and learned the awful truth: Quicken requires
Mac OS X 10.7 or later, and we were running 10.6.8 or thereabouts on the mini.
Today, of course, you can't upgrade to 10.7 (at least not easily); you upgrade to
Yosemite. Having read stories of angst and annoyance, I wasn't looking forward
to the update process, but I plunged ahead.
First, I had an argument with the app store, which insisted I add "security"
questions. I'll spare you the rant. Then I started the download. Some hours
later, the download was complete and I started the installation. The whole thing,
start to finish, was done Saturday, probably within twelve hours.
Sunday
However, I somehow noticed that we weren't fetching email from our
ISP's server. I don't remember how I decided this (it was a long time ago—last night).
After a good night's sleep, I took a look at the computers this morning.
My Linux box was OK to start, and I was delighted to find that the mac mini
was serving NFS just fine. Even the mini's POP server was running.
So why weren't we fetching email from our ISP? A little detective work revealed that unlike
with snow leopard, fetchmail isn't installed
on Yosemite. To wit:
mini1:~ collin$ uname -a
Darwin mini1.local 14.0.0 Darwin Kernel Version 14.0.0: Fri Sep 19 00:26:44 PDT 2014; root:xnu-2782.1.97~2/RELEASE_X86_64 x86_64
mini1:~ collin$ type fetchmail
-bash: type: fetchmail: not found
mini1:~ collin$
Well. I thought I would update ports so I became root and fumbled around a bit:
bash-3.2# port selfupdate
Warning: port definitions are more than two weeks old, consider using selfupdate
---> Updating the ports tree
---> Updating MacPorts base sources using rsync
MacPorts base version 1.9.1 installed,
MacPorts base version 2.3.3 downloaded.
---> MacPorts base is outdated, installing new version 2.3.3
Installing new MacPorts release in /opt/local as root:admin; permissions 0755; Tcl-Package in /Library/Tcl
Error: /opt/local/bin/port: port selfupdate failed: Error installing new MacPorts base: shell command failed
bash-3.2# ^D
Hrmpf. Ran
a web search, which led me to
this stackoverflow article which in turn pointed me to
a blog entry that mentioned the XCode command line tools: apparently
I need to open the XCode preferences pane.
But first I needed to install XCode, which I'm doing now... done. Next:
bash-3.2# port selfupdate
---> Updating the ports tree
---> Updating MacPorts base sources using rsync
MacPorts base version 1.9.1 installed,
MacPorts base version 2.3.3 downloaded.
---> MacPorts base is outdated, installing new version 2.3.3
Installing new MacPorts release in /opt/local as root:admin; permissions 0755; Tcl-Package in /Library/Tcl
The ports tree has been updated. To upgrade your installed ports, you should run
port upgrade outdated
bash-3.2#
So I did
that and saw several times the admonition that
bash-3.2# port upgrade outdated
Warning: The Xcode Command Line Tools don't appear to be installed; most ports will likely fail to build.
Warning: Install them by running `xcode-select --install'.
H'm... Not sure. I looked at the Xcode preferences panel, as Well, fools rush in where wise men fear to tread, so following
the previous link ... but the preferences panel doesn't have anything about the
command line tools. Another web search led to
this set of instructions, which don't work, either. :(
Following this link I tried to simply snag fetchmail using mac ports.
bash-3.2# port install fetchmail +ssl
Warning: The Xcode Command Line Tools don't appear to be installed; most ports will likely fail to build.
Warning: Install them by running `xcode-select --install'.
---> Computing dependencies for fetchmail
Error: Dependency 'libcomerr' not found.
To report a bug, follow the instructions in the guide:
http://guide.macports.org/#project.tickets
Error: Processing of port fetchmail failed
bash-3.2#
At this point, it was time to stop and
make dinner.
Monday morning
Okay, I'm going to give up on ports for now because I found
this set of instructions which informs me that
fetchmail ceased to be bundled with server a while ago (it was last bundled with Lion), but it still works.
So I downloaded the archive
fetchmail-6.3.26.tar.xz from the sourceforge site
and said this on my Linux box (I'm not sure if the Mac tar groks xz):
tar -xJf ~/Downloads/fetchmail-6.3.26.tar.xz. Then, back on the mac mini:
mini1:fetchmail-6.3.26 collin$ ./configure && make
checking build system type... x86_64-apple-darwin14.0.0
checking host system type... x86_64-apple-darwin14.0.0
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... ./install-sh -c -d
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... yes
…
mv -f .deps/odmr.Tpo .deps/odmr.Po
gcc -g -O2 -o fetchmail socket.o getpass.o fetchmail.o env.o idle.o options.o daemon.o driver.o transact.o sink.o smtp.o idlist.o uid.o mxget.o md5ify.o cram.o gssapi.o opie.o interface.o netrc.o unmime.o conf.o checkalias.o lock.o rcfile_l.o rcfile_y.o norm_charmap.o pop3.o imap.o etrn.o odmr.o libfm.a -lresolv
( echo '#! /bin/sh' && echo 'exec /usr/bin/python /usr/local/lib/python2.7/site-packages/fetchmailconf.py "$@"' ) >fetchmailconf && chmod +x fetchmailconf || { rm -f fetchmailconf ; exit 1; }
Making all in po
mini1:fetchmail-6.3.26 collin$ echo $?
0
mini1:fetchmail-6.3.26 collin$ sudo make install
Password:
/Applications/Xcode.app/Contents/Developer/usr/bin/make install-recursive
Making install in .
test -z "/usr/local/bin" || ./install-sh -c -d "/usr/local/bin"
/usr/bin/install -c fetchmail '/usr/local/bin'
test -z "/usr/local/bin" || ./install-sh -c -d "/usr/local/bin"
/usr/bin/install -c fetchmailconf '/usr/local/bin'
test -z "/usr/local/share/man/man1" || ./install-sh -c -d "/usr/local/share/man/man1"
/usr/bin/install -c -m 644 'fetchmail.man' '/usr/local/share/man/man1/fetchmail.1'
/usr/bin/install -c -m 644 'fetchmailconf.man' '/usr/local/share/man/man1/fetchmailconf.1'
test -z "/usr/local/lib/python2.7/site-packages" || ./install-sh -c -d "/usr/local/lib/python2.7/site-packages"
/usr/bin/install -c -m 644 fetchmailconf.py '/usr/local/lib/python2.7/site-packages'
Byte-compiling python modules...
fetchmailconf.py
Byte-compiling python modules (optimized versions) ...
fetchmailconf.py
Making install in po
if test "fetchmail" = "gettext-tools"; then \
.././install-sh -c -d /usr/local/share/gettext/po; \
for file in Makefile.in.in remove-potcdate.sin quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot Makevars.template; do \
/usr/bin/install -c -m 644 ./$file \
/usr/local/share/gettext/po/$file; \
done; \
for file in Makevars; do \
rm -f /usr/local/share/gettext/po/$file; \
done; \
else \
: ; \
fi
mini1:fetchmail-6.3.26 collin$ echo $?
0
mini1:fetchmail-6.3.26 collin$ type fetchmail
fetchmail is /usr/local/bin/fetchmail
mini1:fetchmail-6.3.26 collin$
OK, now does it work? I became "postman" and said
mini1:~ postman$ fetchmail
115 messages for cpark at see.postman.fetchmailrc.invalid (4437146 octets).
reading message cpark@localhost:1 of 115 (3264 octets) flushed
reading message cpark@localhost:2 of 115 (14305 octets) flushed
reading message cpark@localhost:3 of 115 (2974 octets) flushed
…
reading message cpark@localhost:113 of 115 (102452 octets) flushed
reading message cpark@localhost:114 of 115 (38129 octets) flushed
reading message cpark@localhost:115 of 115 (33972 octets) flushed
mini1:~ postman$
Nice. But I'm not seeing any mail :(
mini1:~ collin$ ls Mail/new
mini1:~ collin$ ls -ot Mail/cur|head -n4
total 66872
-rw-r--r-- 1 collin 334 Jan 19 07:27 1421681270.M564345P8389.mini1.local,S=334,W=345:2,S
-rw-r--r-- 1 collin 611 Jan 18 14:24 1421619847.M476474P8389.mini1.local,S=611,W=631:2,S
-rw------- 1 collin 12584 Jan 17 15:48 1421538531.32538_2.mini1:2,S
mini1:~ collin$ date
Mon Jan 19 08:37:18 PST 2015
mini1:~ collin$
Now the mail has got to my backup directory
mini1:~ collin$ ls -o Mail/backup/|grep -c "Jan 19 08:28"
36
mini1:~ collin$
so that says we got this far in my .procmailrc
11 # Back up!!
12 :0 c
13 backup/.
14
15 :0 ic
16 | cd backup && rm -f dummy `ls -t | sed -e 1,128d`
so why didn't it get anywhere else?
Now I have a number of unanswered questions.
- Why isn't fetchmail running periodically? It should be going every minute, but it's not.
mini1:~ collin$ sudo su - postman
mini1:~ postman$ ls -ot Mail/backup|head
total 10128
-rw------- 1 postman 102879 Jan 19 08:28 358256
-rw------- 1 postman 38546 Jan 19 08:28 358257
-rw------- 1 postman 34346 Jan 19 08:28 358258
-rw------- 1 postman 9247 Jan 19 08:28 358250
-rw------- 1 postman 29631 Jan 19 08:28 358251
-rw------- 1 postman 78060 Jan 19 08:28 358252
-rw------- 1 postman 1652 Jan 19 08:28 358253
-rw------- 1 postman 26749 Jan 19 08:28 358254
-rw------- 1 postman 93590 Jan 19 08:28 358255
mini1:~ postman$ ls -ot Mail/backup|grep -c "19 08:28"
115
mini1:~ postman$ ^Dlogout
mini1:~ collin$ ssh sonic ls -ot Mail/backup|head
total 24264
-rw------- 1 cpark 59916 Jan 19 09:06 26889
-rw------- 1 cpark 32443 Jan 19 09:06 26888
-rw------- 1 cpark 5121 Jan 19 09:01 26887
-rw------- 1 cpark 75745 Jan 19 08:48 26886
-rw------- 1 cpark 51549 Jan 19 08:42 26885
-rw------- 1 cpark 18291 Jan 19 08:29 26884
-rw------- 1 cpark 33997 Jan 19 08:03 26883
-rw------- 1 cpark 38197 Jan 19 08:02 26882
-rw------- 1 cpark 102530 Jan 19 08:00 26881
mini1:~ collin$
- I have mail in my Mail/backup, but why not in Maildir/new or Maildir/cur?
mini1:~ collin$ ls -ot Maildir/backup|head -n5
total 6920
-rw------- 1 collin 29533 Jan 19 08:34 92744
-rw------- 1 collin 23841 Jan 19 08:34 92745
-rw------- 1 collin 3769 Jan 19 08:34 92746
-rw------- 1 collin 38595 Jan 19 08:34 92747
mini1:~ collin$ ls -A Maildir/new
mini1:~ collin$ ls -A Maildir/tmp
mini1:~ collin$ ls -ot Maildir/cur|head -n5
total 66872
-rw-r--r-- 1 collin 334 Jan 19 07:27 1421681270.M564345P8389.mini1.local,S=334,W=345:2,S
-rw-r--r-- 1 collin 611 Jan 18 14:24 1421619847.M476474P8389.mini1.local,S=611,W=631:2,S
-rw------- 1 collin 12584 Jan 17 15:48 1421538531.32538_2.mini1:2,S
-rw------- 1 collin 18806 Jan 17 14:26 1421533571.31911_2.mini1:2,S
mini1:~ collin$
- The mail gets from postman to my procmail, locally, but why doesn't procmail continue?
mini1:~ collin$ tail Mail/vlog
procmail: [42278] Mon Jan 19 08:28:58 2015
procmail: Executing "sed 1d | formail -I reply-to: -I resent-from: -I return-path: | formail -rzxTo:"
procmail: [42290] Mon Jan 19 08:28:58 2015
procmail: Executing "sed 1d | formail -I reply-to: -I resent-from: -I return-path: | formail -rzxTo:"
procmail: [42304] Mon Jan 19 08:28:58 2015
procmail: Executing "sed 1d | formail -I reply-to: -I resent-from: -I return-path: | formail -rzxTo:"
procmail: [42316] Mon Jan 19 08:28:59 2015
procmail: Executing "sed 1d | formail -I reply-to: -I resent-from: -I return-path: | formail -rzxTo:"
procmail: [42330] Mon Jan 19 08:28:59 2015
procmail: Executing "sed 1d | formail -I reply-to: -I resent-from: -I return-path: | formail -rzxTo:"
mini1:~ collin$
The more usual sequence looks like this:
1617017 procmail: [32538] Sat Jan 17 15:48:51 2015
1617018 procmail: Executing "sed 1d | formail -I reply-to: -I resent-from: -I return-path: | formail -rzxTo:"
1617019 procmail: [32538] Sat Jan 17 15:48:51 2015
1617020 procmail: Assigning "FROM=jresneck@sungevity.com"
1617021 procmail: No match on "^From:.*lazarjanet"
1617022 procmail: No match on "(^((Original-)?(Resent-)?(To|Cc|Bcc)|(X-Envelope|Apparently(-Resent)?)-To):(.*[^-a-zA-Z0-9_.])?)criticalcare@rc5\.us"
1617023 procmail: No match on "^From:.*@mpbta.org"
1617024 procmail: Match on ! "^content-type:.*multipart/mixed"
1617025 procmail: Match on ! "HB ^content-transfer-encoding:.*base64"
1617026 procmail: No match on "^x-rc5-to: \/.*$"
1617027 procmail: No match on "(^((Original-)?(Resent-)?(To|Cc|Bcc)|(X-Envelope|Apparently(-Resent)?)-To):(.*[^-a-zA-Z0-9_.])?)biblecollin@rc5"
1617028 procmail: No match on "^From:.*zhohaome.*parka001"
1617029 procmail: No match on "(^((Original-)?(Resent-)?(To|Cc|Bcc)|(X-Envelope|Apparently(-Resent)?)-To):(.*[^-a-zA-Z0-9_.])?)cpark\+junk@sonic.net"
1617030 procmail: No match on "(^((Original-)?(Resent-)?(To|Cc|Bcc)|(X-Envelope|Apparently(-Resent)?)-To):(.*[^-a-zA-Z0-9_.])?)cpark\+tr@sonic.net"
1617031 procmail: No match on "(^((Original-)?(Resent-)?(To|Cc|Bcc)|(X-Envelope|Apparently(-Resent)?)-To):(.*[^-a-zA-Z0-9_.])?)cpark\+bn@sonic.net"
1617032 procmail: Assigning "VERBOSE=no"
1617033 From postman@rc5.us Sat Jan 17 15:48:51 2015
1617034 Subject: Collin - New Year, New Rate Hikes - Park - 96922
1617035 Folder: /Users/collin/Maildir/new/1421538531.32538_2.mini1 12584
- Isn't dovecot running? Why can't mail.app connect to it?
mini1:~ collin$ sudo su - carol
Password:
mini1:~ carol$ ls Maildir/new|wc
88 88 2728
mini1:~ carol$
Oddly enough, I can connect to dovecot from the Linux box, but not from the mac mini or from an MBA.
So I want to get #4 figured out. And Maybe if I answer #3 then #2 will take care of itself?
More to come...