Re: [exim] Apple mail...

Top Page
Delete this message
Reply to this message
Author: Phil Pennock
Date:  
To: John Doe
CC: exim-users
Subject: Re: [exim] Apple mail...
On 2010-05-14 at 03:16 -0700, John Doe wrote:
>   server_prompts             = <| Username: | Password:


> While it works fine with Thunderbird, Apple Mail just stall for 1mn and give up...


I recently had cause to set up Apple Mail on an iPad, to let my wife use
it to access our IMAP and SMTP servers and I was rather unimpressed by
the *buggy* error messages and poor diagnostics.

What I do recall is that it was sensitive to "require SSL" and whether
that meant STARTTLS or SSL-on-connect, which could be confusing. I
think there was an accepting-that-things-failed, then turning them back
on, getting told still problems, but working-in-practice-anyway step.

I see also that it sends its own IP as an address literal in the HELO
step, which of course is "interesting" when going through NAT. One
minute timeout -- could you be doing DNS checks on HELO/EHLO?

Here's a successful log-line, slightly censored [note: I'm not asking
for help in diagnosis, it's okay for me to redact]:

2010-05-04 05:57:13 [21582] 1O9B85-0005c6-6M
<= censored@???
H=c-1-2-3-4.hsdX.state.comcast.net ([192.168.1.104]) [192.0.2.42]:44137
I=[94.142.241.89]:587 P=esmtpsa X=TLSv1:AES128-SHA:128
CV=no A=auth_cram:my_wifes_account S=1474
id=9FD8C580-9CC1-4074-AFB4-BC7FE5B6CCE3@???
for dummy@???

If you can fetch the password from MySQL, to have it available for
CRAM-MD5 auth, it can be useful to have an authenticator which is safe
to use plaintext. But I doubt that's the problem.

> And exim logs just says it failed...


A little more detail than that might be helpful, to know how it failed.

> I also tried (found on some forum):
>
> server_prompts = "Username:: : Password::"
>
> But it did not help... any idea?


That's not changed anything in the protocol. "server_prompts" takes a
list. The list is a list, nothing fancy, once stored inside Exim. To
specify a list, you can either use the default list separator, ":", and
then double other colons, "::" to slip one past, or you can change the
list separator, which is what "<|" did in your original config.

So all this advice has done is gone from a neat config which is clear
about the fields, to one which has user escaping to get past an artifact
and made your configs uglier.