Virtual Alias Translation to User Mailbox Not Passed to Dovecot LDA

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
11 messages Options
Reply | Threaded
Open this post in threaded view
|

Virtual Alias Translation to User Mailbox Not Passed to Dovecot LDA

Marc L. Veary-2
 Hi,

 I have a problem with my installation of postfix and virtual aliases
 (mysql).  When an email is sent to a virtual alias, the smtp subsystem
 translates the alias to the correct real mailbox.  However, when the
 dovecot/pipe subsystem is called, the recipient is the alias and NOT the
 real mailbox.  For instance, [hidden email] is resolved to
 [hidden email], but the recipient that the dovecot LDA receives is
 [hidden email] rather than [hidden email], and since dovecot's
 SQL does query users from the 'alias' table only the 'users' table, thus
 the message is bounced.

 I have tried all that I can think of to resolve this, but to no
 avail...

 Any help gratefully received.

 Kind regards,
 --
 Marc

 Log Output:

 Mar  1 08:47:39 ims1 postfix/smtpd[9561]: dict_proxy_lookup:
 table=mysql:/etc/postfix/mysql_virtual_alias_maps.cf flags=lock|fold_fix
 key=[hidden email] -> status=0 result=[hidden email]
 Mar  1 08:47:39 ims1 postfix/smtpd[9561]: maps_find:
 virtual_alias_maps:
 proxy:mysql:/etc/postfix/mysql_virtual_alias_maps.cf(0,lock|fold_fix):
 [hidden email] = [hidden email]
 Mar  1 08:47:39 ims1 postfix/smtpd[9561]: mail_addr_find:
 [hidden email] -> [hidden email]
 Mar  1 08:47:39 ims1 postfix/smtpd[9561]: smtpd_check_rewrite: trying:
 permit_inet_interfaces

 ...

 Mar  1 08:47:39 ims1 postfix/pipe[9566]: deliver_request_get: file
 active/1A0F639AF0
 Mar  1 08:47:39 ims1 postfix/pipe[9566]: deliver_message: from
 <[hidden email]>
 Mar  1 08:47:39 ims1 postfix/pipe[9566]: dict_eval: const  1000s
 Mar  1 08:47:39 ims1 postfix/pipe[9566]: get_service_params: time_limit
 1000
 Mar  1 08:47:39 ims1 postfix/pipe[9566]: get_service_attr: uid 5000,
 gid 5000, flags 196632, size 0
 Mar  1 08:47:39 ims1 postfix/pipe[9566]: dict_eval: const  
 /usr/lib/dovecot/deliver
 Mar  1 08:47:39 ims1 postfix/pipe[9566]: dict_eval: const  -f
 Mar  1 08:47:39 ims1 postfix/pipe[9566]: dict_eval: expand ${sender} ->
 [hidden email]
 Mar  1 08:47:39 ims1 postfix/pipe[9566]: dict_eval: const  -d
 Mar  1 08:47:39 ims1 postfix/pipe[9566]: dict_eval: expand
 ${user}@${nexthop} -> [hidden email]
 Mar  1 08:47:39 ims1 postfix/pipe[9566]: connect to subsystem
 private/bounce
Reply | Threaded
Open this post in threaded view
|

Re: Virtual Alias Translation to User Mailbox Not Passed to Dovecot LDA

Noel Jones-2
On 3/1/2011 7:55 AM, [hidden email] wrote:
> Hi,
>
> I have a problem with my installation of postfix and virtual
> aliases (mysql).


Right.  We've seen your message three times now.  Maybe you're
not aware that gmail suppresses duplicate messages; the copy
sent by the list doesn't show in your inbox.

You need to provide some useful information as requested.


   -- Noel Jones
Reply | Threaded
Open this post in threaded view
|

Re: Virtual Alias Translation to User Mailbox Not Passed to Dovecot LDA

Marc L. Veary-2
My sincere apologies to all.  I was not aware of the supression.  I'll
dig it out an reply from this address as I have stopped using the gmail
account.

Many apologies again.
--
Marc


On 01/03/2011 14:01, Noel Jones wrote:

> On 3/1/2011 7:55 AM, [hidden email] wrote:
>> Hi,
>>
>> I have a problem with my installation of postfix and virtual
>> aliases (mysql).
>
>
> Right.  We've seen your message three times now.  Maybe you're not
> aware that gmail suppresses duplicate messages; the copy sent by the
> list doesn't show in your inbox.
>
> You need to provide some useful information as requested.
>
>
>   -- Noel Jones
Reply | Threaded
Open this post in threaded view
|

Re: Virtual Alias Translation to User Mailbox Not Passed to Dovecot LDA

Marc L. Veary-2
In reply to this post by Noel Jones-2
I have nothing in gmail.

Could someone let me know what further info is required?

Kind regards,
--
Marc

On 01/03/2011 14:01, Noel Jones wrote:

> On 3/1/2011 7:55 AM, [hidden email] wrote:
>> Hi,
>>
>> I have a problem with my installation of postfix and virtual
>> aliases (mysql).
>
>
> Right.  We've seen your message three times now.  Maybe you're not
> aware that gmail suppresses duplicate messages; the copy sent by the
> list doesn't show in your inbox.
>
> You need to provide some useful information as requested.
>
>
>   -- Noel Jones
Reply | Threaded
Open this post in threaded view
|

Re: Virtual Alias Translation to User Mailbox Not Passed to Dovecot LDA

Noel Jones-2
On 3/1/2011 8:15 AM, Marc L. Veary wrote:
> I have nothing in gmail.
>
> Could someone let me know what further info is required?
>
> Kind regards,
> --
> Marc
>

[please bottom post on this list]


It's in the archives

http://archives.neohapsis.com/archives/postfix/2011-03/0011.html






Reply | Threaded
Open this post in threaded view
|

Re: Virtual Alias Translation to User Mailbox Not Passed to Dovecot LDA

Marc L. Veary-2
 On Tue, 01 Mar 2011 08:26:09 -0600, Noel Jones wrote:

> On 3/1/2011 8:15 AM, Marc L. Veary wrote:
>> I have nothing in gmail.
>>
>> Could someone let me know what further info is required?
>>
>> Kind regards,
>> --
>> Marc
>>
>
> [please bottom post on this list]
>
>
> It's in the archives
>
> http://archives.neohapsis.com/archives/postfix/2011-03/0011.html

 Here is some more details on the config, etc.
 The OS is Debian 5.x and postfix, dovecot are apt installs.

 Thank you for the help
 --
 Marc

 postconf -n
 ===========
 append_dot_mydomain = no
 biff = no
 config_directory = /etc/postfix
 disable_vrfy_command = yes
 inet_interfaces = all
 local_recipient_maps = $virtual_alias_maps
 local_transport = virtual
 mailbox_size_limit = 0
 mydestination = localhost
 myhostname = smtp.mydomain.com
 mynetworks = 127.0.0.0/8, 192.168.1.0/24
 myorigin = mydomain.com
 proxy_read_maps = $local_recipient_maps $virtual_alias_maps
 $virtual_mailbox_domains $virtual_mailbox_maps
 readme_directory = no
 receive_override_options = no_address_mappings
 recipient_delimiter = +
 relayhost =
 show_user_unknown_table_name = no
 smtpd_banner = $myhostname ESMTP $mail_name
 smtpd_client_restrictions =
 smtpd_data_restrictions = reject_unauth_pipelining,   permit
 smtpd_hard_error_limit = 10
 smtpd_helo_required = yes
 smtpd_helo_restrictions =
 smtpd_recipient_limit = 128
 smtpd_recipient_restrictions = permit_mynetworks,  
 permit_sasl_authenticated,   reject_unauth_destination,   permit
 smtpd_sasl_path = private/auth
 smtpd_sasl_tls_security_options = noanonymous
 smtpd_sasl_type = dovecot
 smtpd_sender_restrictions =
 smtpd_soft_error_limit = 8
 smtpd_tls_auth_only = yes
 smtpd_tls_cert_file = /etc/ssl/certs/mycert.pem
 smtpd_tls_key_file = /etc/ssl/private/mykey.pem
 smtpd_tls_security_level = may
 strict_rfc821_envelopes = yes
 virtual_alias_maps =
 proxy:mysql:/etc/postfix/mysql_virtual_alias_maps.cf
 virtual_gid_maps = static:5000
 virtual_mailbox_base = /opt/vmail/
 virtual_mailbox_domains =
 proxy:mysql:/etc/postfix/mysql_virtual_domains_maps.cf
 virtual_mailbox_maps =
 proxy:mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
 virtual_minimum_uid = 5000
 virtual_transport = dovecot
 virtual_uid_maps = static:5000

 master.cf
 =========
 smtp      inet  n       -       -       -       -       smtpd -v
 #submission inet n       -       -       -       -       smtpd
 #  -o smtpd_tls_security_level=encrypt
 #  -o smtpd_sasl_auth_enable=yes
 #  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
 #  -o milter_macro_daemon_name=ORIGINATING
 smtps     inet  n       -       -       -       -       smtpd
 #  -o smtpd_tls_wrappermode=yes
   -o smtpd_sasl_auth_enable=yes
   -o smtpd_client_restrictions=permit_sasl_authenticated,reject
 #  -o milter_macro_daemon_name=ORIGINATING
 #628      inet  n       -       -       -       -       qmqpd
 pickup    fifo  n       -       -       60      1       pickup
 cleanup   unix  n       -       -       -       0       cleanup
 qmgr      fifo  n       -       n       300     1       qmgr
 #qmgr     fifo  n       -       -       300     1       oqmgr
 tlsmgr    unix  -       -       -       1000?   1       tlsmgr
 rewrite   unix  -       -       -       -       -       trivial-rewrite
 bounce    unix  -       -       -       -       0       bounce
 defer     unix  -       -       -       -       0       bounce
 trace     unix  -       -       -       -       0       bounce
 verify    unix  -       -       -       -       1       verify
 flush     unix  n       -       -       1000?   0       flush
 proxymap  unix  -       -       n       -       -       proxymap
 proxywrite unix -       -       n       -       1       proxymap
 smtp      unix  -       -       -       -       -       smtp
 # When relaying mail as backup MX, disable fallback_relay to avoid MX
 loops
 relay     unix  -       -       -       -       -       smtp
 #       -o smtp_fallback_relay=
 #       -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
 showq     unix  n       -       -       -       -       showq
 error     unix  -       -       -       -       -       error
 retry     unix  -       -       -       -       -       error
 discard   unix  -       -       -       -       -       discard
 local     unix  -       n       n       -       -       local -v
 virtual   unix  -       n       n       -       -       virtual -v
 lmtp      unix  -       -       -       -       -       lmtp
 anvil     unix  -       -       -       -       1       anvil
 scache    unix  -       -       -       -       1       scache
 # Dovecot Delivery
 dovecot   unix  -       n       n       -       -       pipe -v
    flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -f
 ${sender} -d ${user}@${nexthop}

Reply | Threaded
Open this post in threaded view
|

Re: Virtual Alias Translation to User Mailbox Not Passed to Dovecot LDA

Victor Duchovni
On Tue, Mar 01, 2011 at 02:44:25PM +0000, [hidden email] wrote:

> postconf -n
> ===========
> receive_override_options = no_address_mappings

There's your problem.

--
        Viktor.
Reply | Threaded
Open this post in threaded view
|

Re: Virtual Alias Translation to User Mailbox Not Passed to Dovecot LDA

Marc L. Veary-2
On 01/03/2011 15:34, Victor Duchovni wrote:
>> postconf -n
>> ===========
>> receive_override_options = no_address_mappings
> There's your problem.
>
Ah!  That's sorted it!  This had been driving me around the bend...

Really appreciate the help.

Kind regards,
--
Marc

Reply | Threaded
Open this post in threaded view
|

Re: Virtual Alias Translation to User Mailbox Not Passed to Dovecot LDA

/dev/rob0
In reply to this post by Marc L. Veary-2
On Tue, Mar 01, 2011 at 02:44:25PM +0000, [hidden email] wrote:

> On Tue, 01 Mar 2011 08:26:09 -0600, Noel Jones wrote:
> >On 3/1/2011 8:15 AM, Marc L. Veary wrote:
> >>I have nothing in gmail.
> >>
> >>Could someone let me know what further info is required?
> >
> >It's in the archives
> >
> >http://archives.neohapsis.com/archives/postfix/2011-03/0011.html
>
> Here is some more details on the config, etc.
> The OS is Debian 5.x and postfix, dovecot are apt installs.

You are still lacking useful (non-verbose) logs. That said, I think
the problem is quite obvious:
> receive_override_options = no_address_mappings

More nitpicks:

> postconf -n
> ===========
snip
> local_recipient_maps = $virtual_alias_maps

Wrong. Why did you do this?

> local_transport = virtual

Ugly. Why?

> receive_override_options = no_address_mappings

This should only be used in conjunction with content filtering, on
either side of the filter. You don't have a content filter.

> show_user_unknown_table_name = no

Bad idea.

You have numerous settings of defaults. Those should not be in your
main.cf. You have numerous settings that I don't think you
understood. Why? Leave things at default unless you know why you're
changing it.

I'd suggest scrapping the whole install and starting over with this
guide:
    http://www.postfix.org/BASIC_CONFIGURATION_README.html

Why do you need mysql at this point? Why do you need the dovecot
transport? Learn to walk before you try to run.

> master.cf
> =========
> smtp      inet  n       -       -       -       -       smtpd -v

Again. You do NOT need verbose logs. Do NOT use -v here.
  1. You won't be able to understand them
  2. Those who do understand them won't be willing to dig through
     all the noise.

Remove the -v here.
--
    Offlist mail to this address is discarded unless
    "/dev/rob0" or "not-spam" is in Subject: header
Reply | Threaded
Open this post in threaded view
|

Re: Virtual Alias Translation to User Mailbox Not Passed to Dovecot LDA

Marc L. Veary-2
On 01/03/2011 15:42, /dev/rob0 wrote:

> On Tue, Mar 01, 2011 at 02:44:25PM +0000, [hidden email] wrote:
>> On Tue, 01 Mar 2011 08:26:09 -0600, Noel Jones wrote:
>>> On 3/1/2011 8:15 AM, Marc L. Veary wrote:
>>>> I have nothing in gmail.
>>>>
>>>> Could someone let me know what further info is required?
>>> It's in the archives
>>>
>>> http://archives.neohapsis.com/archives/postfix/2011-03/0011.html
>> Here is some more details on the config, etc.
>> The OS is Debian 5.x and postfix, dovecot are apt installs.
> You are still lacking useful (non-verbose) logs. That said, I think
> the problem is quite obvious:
>> receive_override_options = no_address_mappings
> More nitpicks:
>
>> postconf -n
>> ===========
> snip
>> local_recipient_maps = $virtual_alias_maps
> Wrong. Why did you do this?
>
>> local_transport = virtual
> Ugly. Why?
>
>> receive_override_options = no_address_mappings
> This should only be used in conjunction with content filtering, on
> either side of the filter. You don't have a content filter.
>
>> show_user_unknown_table_name = no
> Bad idea.
>
> You have numerous settings of defaults. Those should not be in your
> main.cf. You have numerous settings that I don't think you
> understood. Why? Leave things at default unless you know why you're
> changing it.
>
> I'd suggest scrapping the whole install and starting over with this
> guide:
>      http://www.postfix.org/BASIC_CONFIGURATION_README.html
>
> Why do you need mysql at this point? Why do you need the dovecot
> transport? Learn to walk before you try to run.
>
>> master.cf
>> =========
>> smtp      inet  n       -       -       -       -       smtpd -v
> Again. You do NOT need verbose logs. Do NOT use -v here.
>    1. You won't be able to understand them
>    2. Those who do understand them won't be willing to dig through
>       all the noise.
>
> Remove the -v here.
I'll take your suggestions on board and have a clean up.  Basically, I
have been adding configs to try to fix the original issue.

Thanks again for the help.


Reply | Threaded
Open this post in threaded view
|

Re: Virtual Alias Translation to User Mailbox Not Passed to Dovecot LDA

Benny Pedersen
In reply to this post by Marc L. Veary-2
On Tue, 01 Mar 2011 13:55:49 +0000, [hidden email] wrote:

>  I have tried all that I can think of to resolve this, but to no
>  avail...

dovecot can be wery powerfull at times, but how did you manage to get
passwords working on aliases ? :-)

problem you have is to let postfix do alias rewrite before calling dovecot
lda (so it only see mailbox)

see dovecot wiki on howto configure postfix with lda