[Dovecot] Dovecot Virtual Users with Sendmail

Andrzej A. Filip andrzej.filip at gmail.com
Thu Jan 3 21:49:48 EET 2013


On 01/03/2013 06:37 AM, DormitionSkete at hotmail.com wrote:
> 
> On Jan 2, 2013, at 4:14 PM, Andrzej A. Filip wrote:
> 
>> On 01/02/2013 08:46 PM, DormitionSkete at hotmail.com wrote:
>>> On Jan 2, 2013, at 11:12 AM, Andrzej A. Filip wrote:
>>>
>>>> On 01/02/2013 06:53 PM, DormitionSkete at hotmail.com wrote:
>>>>> [...]
>>>>> This is the mail header from the mqueue:
>>>>>
>>>>> [...]
>>>>> MDeferred: dovecot mailer (/usr/local/libexec/dovecot/dovecot-lda) exited with EX_TEMPFAIL
>>>>> [...]
>>>>
>>>> Check dovecot's logs
>>>> If it does not help the push delivery of messages ni sendmail's queue in
>>>> verbose mode: "sendmail -Am -v -q"
>>>
>>> Well, the logs showed this:
>>>
>>> Sep 21 21:47:08 openindiana sendmail[1208]: [ID 702911 mail.warning] gethostbyaddr(10.211.55.6) failed: 2
>>> Sep 21 21:47:08 openindiana sendmail[1208]: [ID 702911 mail.warning] gethostbyaddr(IPv6:fec0::fea9:21c:42ff:feed:5f38) failed: 2
>>
>> I have asked for _dovecot's_ logs. Your problem may be caused e.g. by
>> sendail executing dovecot-lda "as wrong user".
>>
>>> So I put this in my /etc/hosts file:
>>>
>>> 10.211.55.6 localhost
>>>
>>> And I added DOVECOT to my /etc/hosts 127.0.0.1 line.  
>>
>> *DO NOT* add DOVECOT (magic word in sendail config) to /etc/hosts.
>>
>>> This cleared the queue, but now all of the mail for the virtual users bounces with this:
>>> The original message was received at Wed, 2 Jan 2013 11:16:27 -0700 (MST)
>>> from openindiana [IPv6:::1]
>>>
>>>   ----- The following addresses had permanent fatal errors -----
>>> <hacwebstore at localhost>
>>>    (reason: 550 5.1.1 User unknown)
>>> hacwebstore at DOVECOT
>>>    (reason: 550 5.1.1 User unknown)
>>>    (expanded from: <hacwebstore at localhost>)
>>>
>>>   ----- Transcript of session follows -----
>>> 550 5.1.1 hacwebstore at DOVECOT... User unknown
>>> 550 5.1.1 <hacwebstore at localhost>... User unknown
>>>
>>>
>>>
>>> Then I took the DOVECOT out of the 127.0.0.1 line, and it still bounces with the same error.
>>>
>>> How would I invoke this:  "sendmail -Am -v -q"  ?  Change my startup script?
>>
>> It is intended as one time debug help. It should show in more verbose
>> way delivery attempts of messages staying in sendail's queue.
>>
>>
>> Another test: As root try to deliver message to virtual dovecot mailbox:
>> /usr/lib/dovecot-lda -d hacwebstore
>>
> 
> 
> Please forgive me, Andrzej.  I did not realize you wanted me to actually send you the logs.  I thought you only meant for me to look to see if there was anything helpful in them.
> 
> They do not show much.  If I restart dovecot and sendmail, this is basically what I get.  If I try to send any mail, nothing shows up in dovecot's log.  All that shows up anywhere is my logging into squirrelmail.
> 
> 
> network-dovecot-default.log
> 
> [ Jan  2 21:52:07 Stopping because service restarting. ]
> [ Jan  2 21:52:07 Executing stop method ("/lib/svc/method/dovecot.sh stop"). ]
> [ Jan  2 21:52:07 Method "stop" exited with status 0. ]
> [ Jan  2 21:52:07 Executing start method ("/lib/svc/method/dovecot.sh start"). ]
> [ Jan  2 21:52:07 Method "start" exited with status 0. ]
> 
> dovecot-info.log
> 
> Jan 02 21:54:48 master: Info: Dovecot v2.1.12 starting up
> 
> dovecot.log
> 
> Jan 02 21:54:48 master: Warning: Killed with signal 2 (by pid=2587 uid=0 code=kill)
> 
> syslog
> 
> Sep 21 21:47:08 openindiana sendmail[1208]: [ID 702911 mail.warning] gethostbyaddr(10.211.55.6) failed: 2
> Sep 21 21:47:08 openindiana sendmail[1208]: [ID 702911 mail.warning] gethostbyaddr(IPv6:fec0::fea9:21c:42ff:feed:5f38) failed: 2
> 
> ---
> 
> systemuser at openindiana:~# /usr/local/libexec/dovecot/dovecot-lda -d hacwebstore
> 
> I had to modify the path to get it to work in Solaris.  When I ran it as above, it sent a blank email to hacwebstore.  
> 
> So, lda appears to be working, but sendmail doesn't?
> 
> ---
> 
> Here is the dovecot portion of my sendmail.cf file again, for your convenience.  Does it appear ok to you?
> 
> 
> ######################*****##############
> ###   DOVECOT Mailer specification                              ###
> ##################*****##################
> Mdovecot,   P=/usr/local/libexec/dovecot/dovecot-lda, F=DFMPhnu9,
>                  S=EnvFromL/HdrFromL, R=EnvToL/HdrFromL,
>                  T=DNS/RFC822/X-Unix,
>                  A=/usr/local/libexec/dovecot/dovecot-lda -d $u
>                  
> 
> ---
> 
> I do have an odd behaviour I noticed in my syslog.  It has the wrong date!  Very odd.
> 
> Thank you again, Andrzej, for all of your help with this.  I appreciate it very much.
> 
> Do you think it is solvable?


Quick fix:
Add S flag to F= section (F=DFMSPhnu9) of dovecot mailer spec abvove.
Without U= section it should make sendmail execute dovecot-lda as root.
U= section may request execution as specific user and group.

Some hints at:
1 Dovecot's Wiki
http://wiki.dovecot.org/LDA/Sendmail
2 "The Bat Book" (sendmail book)
http://books.google.com/books?id=NQblqMiVqvQC&pg=PT806&lpg=PT806&dq=sendmail+F%3DS&source=bl&ots=ql4axryGUD&sig=9ovTnv7L3g-ZsygsgRqDLnkyDF0&hl=en&sa=X&ei=FN_lUKu9HMaKhQfIgIGABQ&redir_esc=y




More information about the dovecot mailing list