Philip Warner
2022-Sep-19 13:10 UTC
doveadm-search finds emails, but IMAP search fails to find any
OK...I have made some progress with this. Looking through the SOLR logs, the
query that IMAP is sending has ?user:FULL-EMAIL-ADDRESS? whereas the doveadm
search has ?user:USERNAME?. The indexing was done using just the username.
Is there a way to change the IMAP search command username to match the username
used to login?
This is further complicated by the fts automatic update setting: it seems to use
the domain-less username when updating SOLR.
Something to ensure a consistent username for indexing would be great.
-
From: Philip Warner
Sent: Monday, 19 September 2022 10:30 PM
To: dovecot at dovecot.org
Subject: doveadm-search finds emails, but IMAP search fails to find any
Using dovecot 2.3.7.2 with solr 8.11.2 when I do:
doveadm search -u user mailbox INBOX subject "something"
I get multiple mail ID's.
When I start a manual IMAP session and login as that user, select INBOX, and try
the command:
. search subject "something"
It returns zero mail ID's; this is consistent across all searches using IMAP
- no results returned, no matter what I search for in IMAP.
The dovecot -n command returns:
# 2.3.7.2 (3c910f64b): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.5.7.2 ()
# OS: Linux 5.4.0-125-generic x86_64 Ubuntu 20.04.5 LTS
# Hostname: WITHELD
mail_location = maildir:~/Mail
mail_plugins = " fts fts_solr virtual"
mail_privileged_group = mail
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope encoded-character
vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy
include variables body enotify environment mailbox date index ihave duplicate
mime foreverypart extracttext
namespace {
? location = virtual:~/Mail/virtual
? prefix = virtual.
? separator = .
}
namespace inbox {
? inbox = yes
? location ? mailbox Drafts {
??? special_use = \Drafts
? }
? mailbox Junk {
??? special_use = \Junk
? }
? mailbox Sent {
??? special_use = \Sent
? }
? mailbox "Sent Messages" {
??? special_use = \Sent
? }
? mailbox Trash {
??? special_use = \Trash
? }
? mailbox virtual.All {
??? comment = All my messages
??? special_use = \All
? }
? prefix }
passdb {
? args = /etc/dovecot/dovecot-sql.conf.ext
? driver = sql
}
passdb {
? driver = pam
}
plugin {
? fts = solr
? fts_autoindex = yes
? fts_enforced = yes
? fts_solr = url=http://localhost:8983/solr/dovecot/
? sieve = file:~/sieve;active=~/.dovecot.sieve
}
protocols = " imap lmtp sieve pop3 sieve"
service imap {
? vsz_limit = 4 G
}
service index-worker {
? vsz_limit = 2 G
}
service indexer-worker {
? vsz_limit = 2 G
}
service lmtp {
? inet_listener lmtp {
??? address = 127.0.0.1
??? port = 24
? }
}
ssl_cert = </etc/letsencrypt/live/WITHELD/fullchain.pem
ssl_client_ca_dir = /etc/ssl/certs
ssl_dh = # hidden, use -P to show it
ssl_key = # hidden, use -P to show it
userdb {
? args = /etc/dovecot/dovecot-sql.conf.ext
? driver = sql
}
userdb {
? driver = passwd
}
protocol lmtp {
? mail_plugins = " fts fts_solr virtual sieve"
? postmaster_address = WITHELD
}
protocol lda {
? mail_plugins = " fts fts_solr virtual sieve"
}
protocol imap {
? mail_max_userip_connections = 40
}
-
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<https://dovecot.org/pipermail/dovecot/attachments/20220919/d11ecc74/attachment-0001.htm>
Sami Ketola
2022-Sep-19 13:45 UTC
doveadm-search finds emails, but IMAP search fails to find any
Hi, you have different userdb setup for protocols imap, doveadm and lmtp? try to check differences in 'doveconf -f protocol=doveadm -n' and 'doveconf -f protocol=doveadm -n' Sami> On 19. Sep 2022, at 16.10, Philip Warner <pjw at rhyme.com.au> wrote: > > OK...I have made some progress with this. Looking through the SOLR logs, the query that IMAP is sending has ?user:FULL-EMAIL-ADDRESS? whereas the doveadm search has ?user:USERNAME?. The indexing was done using just the username. > > Is there a way to change the IMAP search command username to match the username used to login? > > This is further complicated by the fts automatic update setting: it seems to use the domain-less username when updating SOLR. > > Something to ensure a consistent username for indexing would be great. > > - > > From: Philip Warner <mailto:pjw at rhyme.com.au> > Sent: Monday, 19 September 2022 10:30 PM > To: dovecot at dovecot.org <mailto:dovecot at dovecot.org> > Subject: doveadm-search finds emails, but IMAP search fails to find any > > Using dovecot 2.3.7.2 with solr 8.11.2 when I do: > > doveadm search -u user mailbox INBOX subject "something" > > I get multiple mail ID's. > > When I start a manual IMAP session and login as that user, select INBOX, and try the command: > > . search subject "something" > > It returns zero mail ID's; this is consistent across all searches using IMAP - no results returned, no matter what I search for in IMAP. > > The dovecot -n command returns: > > # 2.3.7.2 (3c910f64b): /etc/dovecot/dovecot.conf > # Pigeonhole version 0.5.7.2 () > # OS: Linux 5.4.0-125-generic x86_64 Ubuntu 20.04.5 LTS > # Hostname: WITHELD > mail_location = maildir:~/Mail > mail_plugins = " fts fts_solr virtual" > mail_privileged_group = mail > managesieve_notify_capability = mailto > managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date index ihave duplicate mime foreverypart extracttext > namespace { > location = virtual:~/Mail/virtual > prefix = virtual. > separator = . > } > namespace inbox { > inbox = yes > location > mailbox Drafts { > special_use = \Drafts > } > mailbox Junk { > special_use = \Junk > } > mailbox Sent { > special_use = \Sent > } > mailbox "Sent Messages" { > special_use = \Sent > } > mailbox Trash { > special_use = \Trash > } > mailbox virtual.All { > comment = All my messages > special_use = \All > } > prefix > } > passdb { > args = /etc/dovecot/dovecot-sql.conf.ext > driver = sql > } > passdb { > driver = pam > } > plugin { > fts = solr > fts_autoindex = yes > fts_enforced = yes > fts_solr = url=http://localhost:8983/solr/dovecot/ > sieve = file:~/sieve;active=~/.dovecot.sieve > } > protocols = " imap lmtp sieve pop3 sieve" > service imap { > vsz_limit = 4 G > } > service index-worker { > vsz_limit = 2 G > } > service indexer-worker { > vsz_limit = 2 G > } > service lmtp { > inet_listener lmtp { > address = 127.0.0.1 > port = 24 > } > } > ssl_cert = </etc/letsencrypt/live/WITHELD/fullchain.pem > ssl_client_ca_dir = /etc/ssl/certs > ssl_dh = # hidden, use -P to show it > ssl_key = # hidden, use -P to show it > userdb { > args = /etc/dovecot/dovecot-sql.conf.ext > driver = sql > } > userdb { > driver = passwd > } > protocol lmtp { > mail_plugins = " fts fts_solr virtual sieve" > postmaster_address = WITHELD > } > protocol lda { > mail_plugins = " fts fts_solr virtual sieve" > } > protocol imap { > mail_max_userip_connections = 40 > } > > > --------------- next part -------------- An HTML attachment was scrubbed... URL: <https://dovecot.org/pipermail/dovecot/attachments/20220919/61164a44/attachment-0001.htm>