> On Mon, Dec 12, 2005 at 03:00:30PM -0700, Brian Rose wrote: > >> I have Exim/MySQL setup and it has been working for the last few >> months. I changed the location of a user''s Maildir in MySQL and >> restarted the MTA. >> >> Mail is still being delivered to the old Maildir (it was recreated >> and mail is being deposited). Courier is fetching mail from the >> correct Maildir, however, so transferring mail from the old to the >> new Maildir is a temporary fix. >> >> I''ve tried /etc/init.d/exim4 restart, /etc/init.d/exim4 reload, and a >> hard stop/start as well. I''m completely out of ideas. >> > > Unfortunately, you don''t give any information about your configuration > changes. This is, btw, the reason why noone was able to help you on > IRC. On #exim, it would also have been a good idea to say which > Distribiution you use.I apologize - this is my first foray into trying to find help with Debian outside my colleagues.> > Please refer to http://www.catb.org/~esr/faqs/smart-questions.html for > information how to ask questions without making it unncecessarily hard > to answer them. > > To help, we need a lot of information. A good start would be: > > exim -bv | grep ''^Configuration'' > cat /etc/exim4/update-exim4.conf.conf > Contents of all configuration files changed by you.For starters, I am using Debian Sarge. The only configuration option changed was in exim''s MySQL database in the mail_user table. I changed a user''s home from /var/mail/rackmountmicro.com/choward/ to / home/choward/mail/rackmountmicro.com/choward/. I then moved the Maildir from the old home directory to the new home directory. Ownership on the new home directory and all of its subdirectories are mail:mail. When I changed the option in MySQL and restarted Exim, the next new email received for that account caused Maildir/ to be recreated in the old home directory. As for the configuration information you requested: "exim4 -bv | grep ''^Configuration''" (the exim command doesn''t exist) produced nothing. Output of ''cat /etc/exim4/update-exim4.conf.conf'': # /etc/exim4/update-exim4.conf.conf # # Edit this file and /etc/mailname by hand and execute update-exim4.conf # yourself or use ''dpkg-reconfigure exim4-config'' # # Please note that this is _not_ a dpkg-conffile and that automatic changes # to this file might happen. The code handling this will honor your local # changes, so this is usually fine, but will break local schemes that mess # around with multiple versions of the file. # # update-exim4.conf uses this file to determine variable values to replace # the DEBCONFsomethingDEBCONF strings in the configuration template files. # # Most settings found in here do have corresponding questions in the # Debconf configuration, but not all of them. # # This is a Debian specific file dc_eximconfig_configtype=''internet'' dc_other_hostnames=''rackmountmicro.com'' dc_local_interfaces=''127.0.0.1'' dc_readhost='''' dc_relay_domains='''' dc_minimaldns=''false'' dc_relay_nets='''' dc_smarthost='''' CFILEMODE=''644'' dc_use_split_config=''true'' dc_hide_mailname='''' dc_mailname_in_oh=''true'' Output of exim -d -bt heimidal@gmail.com: Exim version 4.50 uid=0 gid=0 pid=28915 D=fbb95cfd Berkeley DB: Sleepycat Software: Berkeley DB 4.2.52: (December 3, 2003) Support for: iconv() IPv6 PAM Perl GnuTLS Content_Scanning Old_Demime Lookups: lsearch wildlsearch nwildlsearch iplsearch cdb dbm dbmnz dnsdb dsearch ldap ldapdn ldapm mysql nis nis0 passwd pgsql Authenticators: cram_md5 cyrus_sasl plaintext spa Routers: accept dnslookup ipliteral iplookup manualroute queryprogram redirect Transports: appendfile/maildir/mailstore/mbx autoreply lmtp pipe smtp Fixed never_users: 0 changed uid/gid: forcing real = effective uid=0 gid=0 pid=28915 auxiliary group list: <none> configuration file is /var/lib/exim4/config.autogenerated log selectors = 00000ffc 00020800 trusted user admin user finduser used cached passwd data for mail user name "root" extracted from gecos field "root" originator: uid=0 gid=0 login=root name=root sender address = root@rackmountmicro.com Address testing: uid=0 gid=102 euid=0 egid=102 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Testing heimidal@gmail.com >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Considering heimidal@gmail.com >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> routing heimidal@gmail.com --------> hubbed_hosts router <-------- local_part=heimidal domain=gmail.com checking domains expansion of "${if exists{/etc/exim4/hubbed_hosts}{partial-lsearch;/ etc/exim4/hubbed_hosts}fail}" forced failure: assume not in this list hubbed_hosts router skipped: domains mismatch --------> dnslookup_relay_to_domains router <-------- local_part=heimidal domain=gmail.com checking domains search_open: mysql "NULL" search_find: file="NULL" key="SELECT `domain` FROM `mail_domain` WHERE `domain`=''gmail.com''" partial=-1 affix=NULL starflags=0 LRU list: internal_search_find: file="NULL" type=mysql key="SELECT `domain` FROM `mail_domain` WHERE `domain`=''gmail.com''" database lookup required for SELECT `domain` FROM `mail_domain` WHERE `domain`=''gmail.com'' MYSQL query: SELECT `domain` FROM `mail_domain` WHERE `domain`=''gmail.com'' MYSQL new connection: host=localhost port=0 socket=NULL database=exim user=exim MYSQL: no data found lookup failed gmail.com in ""? no (end of list) gmail.com in ""? no (end of list) gmail.com in "! +local_domains : +relay_to_domains"? no (end of list) dnslookup_relay_to_domains router skipped: domains mismatch --------> dnslookup router <-------- local_part=heimidal domain=gmail.com checking domains search_open: mysql "NULL" cached open search_find: file="NULL" key="SELECT `domain` FROM `mail_domain` WHERE `domain`=''gmail.com''" partial=-1 affix=NULL starflags=0 LRU list: internal_search_find: file="NULL" type=mysql key="SELECT `domain` FROM `mail_domain` WHERE `domain`=''gmail.com''" cached data used for lookup of SELECT `domain` FROM `mail_domain` WHERE `domain`=''gmail.com'' lookup failed gmail.com in ""? no (end of list) gmail.com in "! +local_domains"? yes (end of list) R: dnslookup for heimidal@gmail.com calling dnslookup router dnslookup router called for heimidal@gmail.com domain = gmail.com DNS lookup of gmail.com (MX) succeeded 66.249.83.114 in "0.0.0.0 : 127.0.0.0/8 : 192.168.0.0/16 : 172.16.0.0/12 : 10.0.0.0/8 : 169.254.0.0/16"? no (end of list) 66.249.83.27 in "0.0.0.0 : 127.0.0.0/8 : 192.168.0.0/16 : 172.16.0.0/12 : 10.0.0.0/8 : 169.254.0.0/16"? no (end of list) 66.249.83.27 in "0.0.0.0 : 127.0.0.0/8 : 192.168.0.0/16 : 172.16.0.0/12 : 10.0.0.0/8 : 169.254.0.0/16"? no (end of list) 64.233.163.27 in "0.0.0.0 : 127.0.0.0/8 : 192.168.0.0/16 : 172.16.0.0/12 : 10.0.0.0/8 : 169.254.0.0/16"? no (end of list) 64.233.185.27 in "0.0.0.0 : 127.0.0.0/8 : 192.168.0.0/16 : 172.16.0.0/12 : 10.0.0.0/8 : 169.254.0.0/16"? no (end of list) 66.249.83.114 in "0.0.0.0 : 127.0.0.0/8 : 192.168.0.0/16 : 172.16.0.0/12 : 10.0.0.0/8 : 169.254.0.0/16"? no (end of list) 64.233.185.114 in "0.0.0.0 : 127.0.0.0/8 : 192.168.0.0/16 : 172.16.0.0/12 : 10.0.0.0/8 : 169.254.0.0/16"? no (end of list) duplicate IP address 66.249.83.27 (MX=10) removed duplicate IP address 66.249.83.114 (MX=10) removed fully qualified name = gmail.com host_find_bydns yield = HOST_FOUND (2); returned hosts: gmail-smtp-in.l.google.com 66.249.83.27 MX=5 gmail-smtp-in.l.google.com 66.249.83.114 MX=5 gsmtp185-2.google.com 64.233.185.114 MX=10 gsmtp163.google.com 64.233.163.27 MX=10 gsmtp185.google.com 64.233.185.27 MX=10 set transport remote_smtp queued for remote_smtp transport: local_part = heimidal domain = gmail.com errors_to=NULL domain_data=NULL localpart_data=NULL routed by dnslookup router envelope to: heimidal@gmail.com transport: remote_smtp host gmail-smtp-in.l.google.com [66.249.83.27] MX=5 host gmail-smtp-in.l.google.com [66.249.83.114] MX=5 host gsmtp185-2.google.com [64.233.185.114] MX=10 host gsmtp163.google.com [64.233.163.27] MX=10 host gsmtp185.google.com [64.233.185.27] MX=10 heimidal@gmail.com router = dnslookup, transport = remote_smtp host gmail-smtp-in.l.google.com [66.249.83.27] MX=5 host gmail-smtp-in.l.google.com [66.249.83.114] MX=5 host gsmtp185-2.google.com [64.233.185.114] MX=10 host gsmtp163.google.com [64.233.163.27] MX=10 host gsmtp185.google.com [64.233.185.27] MX=10 search_tidyup called close MYSQL connection: localhost/exim/exim >>>>>>>>>>>>>>>> Exim pid=28915 terminating with rc=0 >>>>>>>>>>>>>>>> Thanks again, Brian> > Output of exim -bt some-mail-address@domain.example, and if that''s > inconclusive, exim -d -bt some-mail-address@domain.example. > > Please be advised that I don''t have much MySQL experience myself, so > if you didn''t goof badly with your changes and have them ignored by > exim, chances are that _I_ cannot help. > > Greetings > Marc > > -- > ---------------------------------------------------------------------- > ------- > Marc Haber | "I don''t trust Computers. They | Mailadresse > im Header > Mannheim, Germany | lose things." Winona Ryder | Fon: *49 621 > 72739834 > Nordisch by Nature | How to make an American Quilt | Fax: *49 621 > 72739835Brian ''Heimidal'' Rose brian@heimidal.net http://www.heimidal.net -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.alioth.debian.org/pipermail/pkg-exim4-users/attachments/20051213/afd6eecc/attachment.html
On Tue, Dec 13, 2005 at 08:16:10AM -0700, Brian Rose wrote:> >Please refer to http://www.catb.org/~esr/faqs/smart-questions.html for > >information how to ask questions without making it unncecessarily hard > >to answer them. > > > >To help, we need a lot of information. A good start would be: > > > >exim -bv | grep ''^Configuration'' > >cat /etc/exim4/update-exim4.conf.conf > >Contents of all configuration files changed by you. > > For starters, I am using Debian Sarge. The only configuration option > changed was in exim''s MySQL database in the mail_user table.Debian''s default configuration doesn''t handle MySQL at all. So you have changed the configuration in very central places and should thus know what you are doing.> I > changed a user''s home from /var/mail/rackmountmicro.com/choward/ to / > home/choward/mail/rackmountmicro.com/choward/. I then moved the > Maildir from the old home directory to the new home directory. > Ownership on the new home directory and all of its subdirectories are > mail:mail. > > When I changed the option in MySQL and restarted Exim, the next new > email received for that account caused Maildir/ to be recreated in > the old home directory.Looks like your changes weren''t read.> As for the configuration information you requested: > > "exim4 -bv | grep ''^Configuration''" (the exim command doesn''t exist) > produced nothing.I usually fall into that trap as I have locally linked exim4 to exim. The correct line would have been /usr/sbin/exim4 -bV | grep ''^Configuration''> dc_use_split_config=''true''This is the key. You need to make your changes in the small files in /etc/exim4/conf.d, and not in /etc/exim4/exim4.conf.template. This is documented in update-exim4.conf(8) and the Debian readme.> Output of exim -d -bt heimidal@gmail.com:This shows correct routing of the message to the MX records of gmail.com and doesn''t help in debugging local deliveries at all. Greetings Marc -- ----------------------------------------------------------------------------- Marc Haber | "I don''t trust Computers. They | Mailadresse im Header Mannheim, Germany | lose things." Winona Ryder | Fon: *49 621 72739834 Nordisch by Nature | How to make an American Quilt | Fax: *49 621 72739835
On Dec 13, 2005, at 8:49 AM, Marc Haber wrote:
Debian''s default configuration doesn''t handle MySQL at all. So
you
have changed the configuration in very central places and should thus
know what you are doing.
The configuration I''m using was provided by a source that used it  
previously. All other changes I''ve made to the MySQL database worked  
fine. No changes were made to /etc/exim4/conf.d/ in the past two  
months, only MySQL.
/usr/sbin/exim4 -bV | grep ''^Configuration''
Produced "Configuration file is /var/lib/exim4/config.autogenerated".
Output of exim -d -bt heimidal@gmail.com:
This shows correct routing of the message to the MX records of
gmail.com and doesn''t help in debugging local deliveries at all.
Sorry, I didn''t quite understand which address you needed me to test.  
Here is the output for the offending email address:
Exim version 4.50 uid=0 gid=0 pid=3674 D=fbb95cfd
Berkeley DB: Sleepycat Software: Berkeley DB 4.2.52: (December  3, 2003)
Support for: iconv() IPv6 PAM Perl GnuTLS Content_Scanning Old_Demime
Lookups: lsearch wildlsearch nwildlsearch iplsearch cdb dbm dbmnz  
dnsdb dsearch ldap ldapdn ldapm mysql nis nis0 passwd pgsql
Authenticators: cram_md5 cyrus_sasl plaintext spa
Routers: accept dnslookup ipliteral iplookup manualroute queryprogram  
redirect
Transports: appendfile/maildir/mailstore/mbx autoreply lmtp pipe smtp
Fixed never_users: 0
changed uid/gid: forcing real = effective
   uid=0 gid=0 pid=3674
   auxiliary group list: <none>
configuration file is /var/lib/exim4/config.autogenerated
log selectors = 00000ffc 00020800
trusted user
admin user
finduser used cached passwd data for mail
user name "root" extracted from gecos field "root"
originator: uid=0 gid=0 login=root name=root
sender address = root@rackmountmicro.com
Address testing: uid=0 gid=102 euid=0 egid=102
 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Testing choward@rackmountmicro.com
 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Considering choward@rackmountmicro.com
 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
routing choward@rackmountmicro.com
--------> hubbed_hosts router <--------
local_part=choward domain=rackmountmicro.com
checking domains
expansion of "${if exists{/etc/exim4/hubbed_hosts}{partial-lsearch;/ 
etc/exim4/hubbed_hosts}fail}" forced failure: assume not in this list
hubbed_hosts router skipped: domains mismatch
--------> dnslookup_relay_to_domains router <--------
local_part=choward domain=rackmountmicro.com
checking domains
search_open: mysql "NULL"
search_find: file="NULL"
   key="SELECT `domain` FROM `mail_domain` WHERE  
`domain`=''rackmountmicro.com''" partial=-1 affix=NULL
starflags=0
LRU list:
internal_search_find: file="NULL"
   type=mysql key="SELECT `domain` FROM `mail_domain` WHERE  
`domain`=''rackmountmicro.com''"
database lookup required for SELECT `domain` FROM `mail_domain` WHERE  
`domain`=''rackmountmicro.com''
MYSQL query: SELECT `domain` FROM `mail_domain` WHERE  
`domain`=''rackmountmicro.com''
MYSQL new connection: host=localhost port=0 socket=NULL database=exim  
user=exim
lookup yielded: rackmountmicro.com
rackmountmicro.com in "rackmountmicro.com"? yes (matched  
"rackmountmicro.com")
rackmountmicro.com in "! +local_domains : +relay_to_domains"? no  
(matched "! +local_domains")
dnslookup_relay_to_domains router skipped: domains mismatch
--------> dnslookup router <--------
local_part=choward domain=rackmountmicro.com
checking domains
search_open: mysql "NULL"
   cached open
search_find: file="NULL"
   key="SELECT `domain` FROM `mail_domain` WHERE  
`domain`=''rackmountmicro.com''" partial=-1 affix=NULL
starflags=0
LRU list:
internal_search_find: file="NULL"
   type=mysql key="SELECT `domain` FROM `mail_domain` WHERE  
`domain`=''rackmountmicro.com''"
cached data used for lookup of SELECT `domain` FROM `mail_domain`  
WHERE `domain`=''rackmountmicro.com''
lookup yielded: rackmountmicro.com
rackmountmicro.com in "rackmountmicro.com"? yes (matched  
"rackmountmicro.com")
rackmountmicro.com in "! +local_domains"? no (matched "!  
+local_domains")
dnslookup router skipped: domains mismatch
--------> my_domains router <--------
local_part=choward domain=rackmountmicro.com
checking domains
search_open: mysql "NULL"
   cached open
search_find: file="NULL"
   key="SELECT `domain` FROM `mail_domain` WHERE  
`domain`=''rackmountmicro.com''" partial=-1 affix=NULL
starflags=0
LRU list:
internal_search_find: file="NULL"
   type=mysql key="SELECT `domain` FROM `mail_domain` WHERE  
`domain`=''rackmountmicro.com''"
cached data used for lookup of SELECT `domain` FROM `mail_domain`  
WHERE `domain`=''rackmountmicro.com''
lookup yielded: rackmountmicro.com
rackmountmicro.com in "rackmountmicro.com"? yes (matched  
"rackmountmicro.com")
checking local_parts
search_open: mysql "NULL"
   cached open
search_find: file="NULL"
   key="SELECT local_part FROM mail_user WHERE
local_part=''choward''
AND domain=''rackmountmicro.com''" partial=-1 affix=NULL
starflags=0
LRU list:
internal_search_find: file="NULL"
   type=mysql key="SELECT local_part FROM mail_user WHERE  
local_part=''choward'' AND
domain=''rackmountmicro.com''"
database lookup required for SELECT local_part FROM mail_user WHERE  
local_part=''choward'' AND
domain=''rackmountmicro.com''
MYSQL query: SELECT local_part FROM mail_user WHERE  
local_part=''choward'' AND
domain=''rackmountmicro.com''
MYSQL using cached connection for localhost/exim/exim
lookup yielded: choward
choward in "choward"? yes (matched "choward")
calling my_domains router
my_domains router called for choward@rackmountmicro.com
   domain = rackmountmicro.com
set transport my_mailboxes
queued for my_mailboxes transport: local_part = choward
domain = rackmountmicro.com
   errors_to=NULL
   domain_data=NULL localpart_data=NULL
routed by my_domains router
   envelope to: choward@rackmountmicro.com
   transport: my_mailboxes
choward@rackmountmicro.com
   router = my_domains, transport = my_mailboxes
search_tidyup called
close MYSQL connection: localhost/exim/exim
 >>>>>>>>>>>>>>>> Exim pid=3674
terminating with rc=0
>>>>>>>>>>>>>>>>
Thanks again,
Brian
Brian ''Heimidal'' Rose
brian@heimidal.net
http://www.heimidal.net
On Dec 13, 2005, at 8:49 AM, Marc Haber wrote:
> On Tue, Dec 13, 2005 at 08:16:10AM -0700, Brian Rose wrote:
>>> Please refer to http://www.catb.org/~esr/faqs/smart- 
>>> questions.html for
>>> information how to ask questions without making it unncecessarily  
>>> hard
>>> to answer them.
>>>
>>> To help, we need a lot of information. A good start would be:
>>>
>>> exim -bv | grep ''^Configuration''
>>> cat /etc/exim4/update-exim4.conf.conf
>>> Contents of all configuration files changed by you.
>>
>> For starters, I am using Debian Sarge. The only configuration option
>> changed was in exim''s MySQL database in the mail_user table.
>
> Debian''s default configuration doesn''t handle MySQL at
all. So you
> have changed the configuration in very central places and should thus
> know what you are doing.
>
>> I
>> changed a user''s home from
/var/mail/rackmountmicro.com/choward/ to /
>> home/choward/mail/rackmountmicro.com/choward/. I then moved the
>> Maildir from the old home directory to the new home directory.
>> Ownership on the new home directory and all of its subdirectories are
>> mail:mail.
>>
>> When I changed the option in MySQL and restarted Exim, the next new
>> email received for that account caused Maildir/ to be recreated in
>> the old home directory.
>
> Looks like your changes weren''t read.
>
>> As for the configuration information you requested:
>>
>> "exim4 -bv | grep ''^Configuration''" (the
exim command doesn''t exist)
>> produced nothing.
>
> I usually fall into that trap as I have locally linked exim4 to exim.
> The correct line would have been
>
> /usr/sbin/exim4 -bV | grep ''^Configuration''
>
>> dc_use_split_config=''true''
>
> This is the key. You need to make your changes in the small files in
> /etc/exim4/conf.d, and not in /etc/exim4/exim4.conf.template.
>
> This is documented in update-exim4.conf(8) and the Debian readme.
>
>> Output of exim -d -bt heimidal@gmail.com:
>
> This shows correct routing of the message to the MX records of
> gmail.com and doesn''t help in debugging local deliveries at all.
>
> Greetings
> Marc
>
> -- 
> ---------------------------------------------------------------------- 
> -------
> Marc Haber         | "I don''t trust Computers. They |
Mailadresse
> im Header
> Mannheim, Germany  |  lose things."    Winona Ryder | Fon: *49 621  
> 72739834
> Nordisch by Nature |  How to make an American Quilt | Fax: *49 621  
> 72739835
>
> _______________________________________________
> Pkg-exim4-users mailing list
> Pkg-exim4-users@lists.alioth.debian.org
> http://lists.alioth.debian.org/mailman/listinfo/pkg-exim4-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
http://lists.alioth.debian.org/pipermail/pkg-exim4-users/attachments/20051213/8d5dde8a/attachment.html
On Tue, Dec 13, 2005 at 07:33:27PM -0700, Brian Rose wrote:> On Dec 13, 2005, at 8:49 AM, Marc Haber wrote: > Debian''s default configuration doesn''t handle MySQL at all. So you > have changed the configuration in very central places and should thus > know what you are doing.You didn''t write this. Please use quoting conventions that allow to easily distinguish what you wrote from what you are quoting.> /usr/sbin/exim4 -bV | grep ''^Configuration'' > > Produced "Configuration file is /var/lib/exim4/config.autogenerated".Good, so exim is actually using the configuration built from /etc/exim4/conf.d> Sorry, I didn''t quite understand which address you needed me to test. > Here is the output for the offending email address:Thanks. Key output is:> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> > Testing choward@rackmountmicro.com > >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> > Considering choward@rackmountmicro.com > >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> > routing choward@rackmountmicro.com > --------> hubbed_hosts router <-------- > hubbed_hosts router skipped: domains mismatch > --------> dnslookup_relay_to_domains router <-------- > dnslookup_relay_to_domains router skipped: domains mismatch > --------> dnslookup router <-------- > dnslookup router skipped: domains mismatch > --------> my_domains router <-------- > local_part=choward domain=rackmountmicro.com > checking domains > search_open: mysql "NULL" > cached open > search_find: file="NULL" > key="SELECT `domain` FROM `mail_domain` WHERE > `domain`=''rackmountmicro.com''" partial=-1 affix=NULL starflags=0 > LRU list: > internal_search_find: file="NULL" > type=mysql key="SELECT `domain` FROM `mail_domain` WHERE > `domain`=''rackmountmicro.com''" > cached data used for lookup of SELECT `domain` FROM `mail_domain` > WHERE `domain`=''rackmountmicro.com'' > lookup yielded: rackmountmicro.com > rackmountmicro.com in "rackmountmicro.com"? yes (matched > "rackmountmicro.com") > checking local_parts > search_open: mysql "NULL" > cached open > search_find: file="NULL" > key="SELECT local_part FROM mail_user WHERE local_part=''choward'' > AND domain=''rackmountmicro.com''" partial=-1 affix=NULL starflags=0 > LRU list: > internal_search_find: file="NULL" > type=mysql key="SELECT local_part FROM mail_user WHERE > local_part=''choward'' AND domain=''rackmountmicro.com''" > database lookup required for SELECT local_part FROM mail_user WHERE > local_part=''choward'' AND domain=''rackmountmicro.com'' > MYSQL query: SELECT local_part FROM mail_user WHERE > local_part=''choward'' AND domain=''rackmountmicro.com'' > MYSQL using cached connection for localhost/exim/exim > lookup yielded: choward > choward in "choward"? yes (matched "choward") > calling my_domains router > my_domains router called for choward@rackmountmicro.com > domain = rackmountmicro.com > set transport my_mailboxes > queued for my_mailboxes transport: local_part = choward > domain = rackmountmicro.com > errors_to=NULL > domain_data=NULL localpart_data=NULL > routed by my_domains router > envelope to: choward@rackmountmicro.com > transport: my_mailboxes > choward@rackmountmicro.com > router = my_domains, transport = my_mailboxes > search_tidyup called > close MYSQL connection: localhost/exim/exim > >>>>>>>>>>>>>>>> Exim pid=3674 terminating with rc=0 >>>>>>>>>>>>>>>>Now we need to look at the my_mailboxes transport. Can you please quote it? Greetings Marc -- ----------------------------------------------------------------------------- Marc Haber | "I don''t trust Computers. They | Mailadresse im Header Mannheim, Germany | lose things." Winona Ryder | Fon: *49 621 72739834 Nordisch by Nature | How to make an American Quilt | Fax: *49 621 72739835
> Now we need to look at the my_mailboxes transport. Can you please > quote it?I opened the my_mailboxes transport and I believe I have found the offending line: directory = ${lookup mysql{SELECT folder FROM mail_folders WHERE us er = CONCAT(''$local_part'', ''@'', ''$domain'') AND suffix=''$header_X- Local-Part-Suff ix:'';}{$value}{/var/mail/$domain/$local_part/Maildir}} Therefore, I just want to clarify before I do anything that could break Exim for all users: If I''m reading the line correctly, it selects the result from SQL and sets directory to it if it is available, otherwise it sets it to "/ var/mail/$domain/$local_part/Maildir". Correct? If that is the case, the SQL statement for the correct folder should be "SELECT home FROM mail_user WHERE user= CONCAT(''$local_part'', ''@'', ''$domain'')" instead of what is there and it will take that simple change to make it work. Thanks again. Brian ''Heimidal'' Rose brian@heimidal.net http://www.heimidal.net On Dec 13, 2005, at 11:35 PM, Marc Haber wrote:> On Tue, Dec 13, 2005 at 07:33:27PM -0700, Brian Rose wrote: >> On Dec 13, 2005, at 8:49 AM, Marc Haber wrote: >> Debian''s default configuration doesn''t handle MySQL at all. So you >> have changed the configuration in very central places and should thus >> know what you are doing. > > You didn''t write this. Please use quoting conventions that allow to > easily distinguish what you wrote from what you are quoting. > >> /usr/sbin/exim4 -bV | grep ''^Configuration'' >> >> Produced "Configuration file is /var/lib/exim4/config.autogenerated". > > Good, so exim is actually using the configuration built from > /etc/exim4/conf.d > >> Sorry, I didn''t quite understand which address you needed me to test. >> Here is the output for the offending email address: > > Thanks. Key output is: > >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >> Testing choward@rackmountmicro.com >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >> Considering choward@rackmountmicro.com >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >> routing choward@rackmountmicro.com >> --------> hubbed_hosts router <-------- >> hubbed_hosts router skipped: domains mismatch >> --------> dnslookup_relay_to_domains router <-------- >> dnslookup_relay_to_domains router skipped: domains mismatch >> --------> dnslookup router <-------- >> dnslookup router skipped: domains mismatch >> --------> my_domains router <-------- >> local_part=choward domain=rackmountmicro.com >> checking domains >> search_open: mysql "NULL" >> cached open >> search_find: file="NULL" >> key="SELECT `domain` FROM `mail_domain` WHERE >> `domain`=''rackmountmicro.com''" partial=-1 affix=NULL starflags=0 >> LRU list: >> internal_search_find: file="NULL" >> type=mysql key="SELECT `domain` FROM `mail_domain` WHERE >> `domain`=''rackmountmicro.com''" >> cached data used for lookup of SELECT `domain` FROM `mail_domain` >> WHERE `domain`=''rackmountmicro.com'' >> lookup yielded: rackmountmicro.com >> rackmountmicro.com in "rackmountmicro.com"? yes (matched >> "rackmountmicro.com") >> checking local_parts >> search_open: mysql "NULL" >> cached open >> search_find: file="NULL" >> key="SELECT local_part FROM mail_user WHERE local_part=''choward'' >> AND domain=''rackmountmicro.com''" partial=-1 affix=NULL starflags=0 >> LRU list: >> internal_search_find: file="NULL" >> type=mysql key="SELECT local_part FROM mail_user WHERE >> local_part=''choward'' AND domain=''rackmountmicro.com''" >> database lookup required for SELECT local_part FROM mail_user WHERE >> local_part=''choward'' AND domain=''rackmountmicro.com'' >> MYSQL query: SELECT local_part FROM mail_user WHERE >> local_part=''choward'' AND domain=''rackmountmicro.com'' >> MYSQL using cached connection for localhost/exim/exim >> lookup yielded: choward >> choward in "choward"? yes (matched "choward") >> calling my_domains router >> my_domains router called for choward@rackmountmicro.com >> domain = rackmountmicro.com >> set transport my_mailboxes >> queued for my_mailboxes transport: local_part = choward >> domain = rackmountmicro.com >> errors_to=NULL >> domain_data=NULL localpart_data=NULL >> routed by my_domains router >> envelope to: choward@rackmountmicro.com >> transport: my_mailboxes >> choward@rackmountmicro.com >> router = my_domains, transport = my_mailboxes >> search_tidyup called >> close MYSQL connection: localhost/exim/exim >>>>>>>>>>>>>>>>>> Exim pid=3674 terminating with rc=0 >>>>>>>>>>>>>>>> > > Now we need to look at the my_mailboxes transport. Can you please > quote it? > > Greetings > Marc > > -- > ---------------------------------------------------------------------- > ------- > Marc Haber | "I don''t trust Computers. They | Mailadresse > im Header > Mannheim, Germany | lose things." Winona Ryder | Fon: *49 621 > 72739834 > Nordisch by Nature | How to make an American Quilt | Fax: *49 621 > 72739835 > > _______________________________________________ > Pkg-exim4-users mailing list > Pkg-exim4-users@lists.alioth.debian.org > http://lists.alioth.debian.org/mailman/listinfo/pkg-exim4-users-------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.alioth.debian.org/pipermail/pkg-exim4-users/attachments/20051214/1fbbf0e9/attachment-0001.htm
On Wed, Dec 14, 2005 at 09:32:43AM -0700, Brian Rose wrote:> I opened the my_mailboxes transport and I believe I have found the > offending line: > > directory = ${lookup mysql{SELECT folder FROM mail_folders WHERE us > er = CONCAT(''$local_part'', ''@'', ''$domain'') AND suffix=''$header_X- > Local-Part-Suff > ix:'';}{$value}{/var/mail/$domain/$local_part/Maildir}} > > Therefore, I just want to clarify before I do anything that could > break Exim for all users: > > If I''m reading the line correctly, it selects the result from SQL and > sets directory to it if it is available, otherwise it sets it to "/ > var/mail/$domain/$local_part/Maildir". Correct?Sorry, I don''t have a clue about using MySQL with exim. A possible way to debug would be to watch exim delivering a message to one of the offending addresses, like echo "test" | exim -d <some address> This will actually deliver a message, and print verbose output about what exim does. This probably includes the queries that are actually sent to the database, its return, and the setting of delivery parameters. Maybe, you can interpret the output yourself, otherwise, quote it here or on paste.debian.net and let me try to make something of it. Greetings Marc -- ----------------------------------------------------------------------------- Marc Haber | "I don''t trust Computers. They | Mailadresse im Header Mannheim, Germany | lose things." Winona Ryder | Fon: *49 621 72739834 Nordisch by Nature | How to make an American Quilt | Fax: *49 621 72739835
> A possible way to debug would be to watch exim delivering a message to > one of the offending addresses, like > > echo "test" | exim -d <some address>Thank you! With this, I was able to look at exactly how Exim was behaving and figured out my problem. I appreciate the help! Thanks again! Brian ''Heimidal'' Rose brian@heimidal.net http://www.heimidal.net On Dec 14, 2005, at 9:48 AM, Marc Haber wrote:> On Wed, Dec 14, 2005 at 09:32:43AM -0700, Brian Rose wrote: >> I opened the my_mailboxes transport and I believe I have found the >> offending line: >> >> directory = ${lookup mysql{SELECT folder FROM mail_folders WHERE us >> er = CONCAT(''$local_part'', ''@'', ''$domain'') AND suffix=''$header_X- >> Local-Part-Suff >> ix:'';}{$value}{/var/mail/$domain/$local_part/Maildir}} >> >> Therefore, I just want to clarify before I do anything that could >> break Exim for all users: >> >> If I''m reading the line correctly, it selects the result from SQL and >> sets directory to it if it is available, otherwise it sets it to "/ >> var/mail/$domain/$local_part/Maildir". Correct? > > Sorry, I don''t have a clue about using MySQL with exim. > > A possible way to debug would be to watch exim delivering a message to > one of the offending addresses, like > > echo "test" | exim -d <some address> > > This will actually deliver a message, and print verbose output about > what exim does. This probably includes the queries that are actually > sent to the database, its return, and the setting of delivery > parameters. > > Maybe, you can interpret the output yourself, otherwise, quote it here > or on paste.debian.net and let me try to make something of it. > > Greetings > Marc > > -- > ---------------------------------------------------------------------- > ------- > Marc Haber | "I don''t trust Computers. They | Mailadresse > im Header > Mannheim, Germany | lose things." Winona Ryder | Fon: *49 621 > 72739834 > Nordisch by Nature | How to make an American Quilt | Fax: *49 621 > 72739835 > > _______________________________________________ > Pkg-exim4-users mailing list > Pkg-exim4-users@lists.alioth.debian.org > http://lists.alioth.debian.org/mailman/listinfo/pkg-exim4-users-------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.alioth.debian.org/pipermail/pkg-exim4-users/attachments/20051214/e1df44be/attachment.html
On Wed, Dec 14, 2005 at 10:19:25AM -0700, Brian Rose wrote:> >A possible way to debug would be to watch exim delivering a message to > >one of the offending addresses, like > > > >echo "test" | exim -d <some address> > > Thank you! With this, I was able to look at exactly how Exim was > behaving and figured out my problem. > > I appreciate the help! Thanks again!You''re welcome. Greetings Marc -- ----------------------------------------------------------------------------- Marc Haber | "I don''t trust Computers. They | Mailadresse im Header Mannheim, Germany | lose things." Winona Ryder | Fon: *49 621 72739834 Nordisch by Nature | How to make an American Quilt | Fax: *49 621 72739835