<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:Helvetica;
        panose-1:2 11 5 4 2 2 2 2 2 4;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
code
        {mso-style-priority:99;
        font-family:"Courier New";}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}
span.apple-converted-space
        {mso-style-name:apple-converted-space;}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:"Courier New";}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style></head><body lang=EN-AU link=blue vlink="#954F72" style='word-wrap:break-word'><div class=WordSection1><p class=MsoNormal>Both have two (identical) userdb’s in the same order:</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><span style='font-family:"Courier New"'>userdb {<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>  args = /etc/dovecot/dovecot-sql.conf.ext<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>  driver = sql<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>}<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>userdb {<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>  driver = passwd<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>}<o:p></o:p></span></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I have a mix of local and virtual users. Is this likely to be the cause?</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>-<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><div style='mso-element:para-border-div;border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal style='border:none;padding:0cm'><b>From: </b><a href="mailto:sami@ketola.io">Sami Ketola</a><br><b>Sent: </b>Monday, 19 September 2022 11:46 PM<br><b>To: </b><a href="mailto:pjw@rhyme.com.au">Philip Warner</a><br><b>Cc: </b><a href="mailto:dovecot@dovecot.org">dovecot@dovecot.org</a><br><b>Subject: </b>Re: doveadm-search finds emails, but IMAP search fails to find any</p></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Hi,<o:p></o:p></p><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>you have different userdb setup for protocols imap, doveadm and lmtp?<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>try to check differences in 'doveconf -f protocol=doveadm -n' and 'doveconf -f protocol=doveadm -n'<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Sami<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p><div><p class=MsoNormal><br><br><o:p></o:p></p><blockquote style='margin-top:5.0pt;margin-bottom:5.0pt'><div><p class=MsoNormal>On 19. Sep 2022, at 16.10, Philip Warner <<a href="mailto:pjw@rhyme.com.au">pjw@rhyme.com.au</a>> wrote:<o:p></o:p></p></div><p class=MsoNormal><o:p> </o:p></p><div><div><p class=MsoNormal>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.<o:p></o:p></p></div><div><p class=MsoNormal> <o:p></o:p></p></div><div><p class=MsoNormal>Is there a way to change the IMAP search command username to match the username used to login?<o:p></o:p></p></div><div><p class=MsoNormal> <o:p></o:p></p></div><div><p class=MsoNormal>This is further complicated by the fts automatic update setting: it seems to use the domain-less username when updating SOLR.<o:p></o:p></p></div><div><p class=MsoNormal> <o:p></o:p></p></div><div><p class=MsoNormal>Something to ensure a consistent username for indexing would be great.<o:p></o:p></p></div><div><p class=MsoNormal> <o:p></o:p></p></div><div><p class=MsoNormal>-<o:p></o:p></p></div><div><p class=MsoNormal> <o:p></o:p></p></div><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm'><div><p class=MsoNormal><b>From:<span class=apple-converted-space> </span></b><a href="mailto:pjw@rhyme.com.au">Philip Warner</a><br><b>Sent:<span class=apple-converted-space> </span></b>Monday, 19 September 2022 10:30 PM<br><b>To:<span class=apple-converted-space> </span></b><a href="mailto:dovecot@dovecot.org">dovecot@dovecot.org</a><br><b>Subject:<span class=apple-converted-space> </span></b>doveadm-search finds emails, but IMAP search fails to find any<o:p></o:p></p></div></div><div><p class=MsoNormal> <o:p></o:p></p></div><div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span style='font-size:9.0pt;font-family:"Helvetica",sans-serif'>Using dovecot 2.3.7.2 with solr 8.11.2 when I do:<o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><code><span style='font-size:10.0pt'>doveadm search -u user mailbox INBOX subject "something"</span></code><span style='font-size:9.0pt;font-family:"Helvetica",sans-serif'><o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span style='font-size:9.0pt;font-family:"Helvetica",sans-serif'>I get multiple mail ID's.<o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span style='font-size:9.0pt;font-family:"Helvetica",sans-serif'>When I start a manual IMAP session and login as that user, select INBOX, and try the command:<o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><code><span style='font-size:10.0pt'>. search subject "something"</span></code><span style='font-size:9.0pt;font-family:"Helvetica",sans-serif'><o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span style='font-size:9.0pt;font-family:"Helvetica",sans-serif'>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.<o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span style='font-size:9.0pt;font-family:"Helvetica",sans-serif'>The<span class=apple-converted-space> </span></span><code><span style='font-size:10.0pt'>dovecot -n</span></code><span class=apple-converted-space><span style='font-size:9.0pt;font-family:"Helvetica",sans-serif'> </span></span><span style='font-size:9.0pt;font-family:"Helvetica",sans-serif'>command returns:<o:p></o:p></span></p><pre><code># 2.3.7.2 (3c910f64b): /etc/dovecot/dovecot.conf</code></pre><pre><code># Pigeonhole version 0.5.7.2 ()</code></pre><pre><code># OS: Linux 5.4.0-125-generic x86_64 Ubuntu 20.04.5 LTS</code></pre><pre><code># Hostname: WITHELD</code></pre><pre><code>mail_location = maildir:~/Mail</code></pre><pre><code>mail_plugins = " fts fts_solr virtual"</code></pre><pre><code>mail_privileged_group = mail</code></pre><pre><code>managesieve_notify_capability = mailto</code></pre><pre><code>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</code></pre><pre><code>namespace {</code></pre><pre><code>  location = virtual:~/Mail/virtual</code></pre><pre><code>  prefix = virtual.</code></pre><pre><code>  separator = .</code></pre><pre><code>}</code></pre><pre><code>namespace inbox {</code></pre><pre><code>  inbox = yes</code></pre><pre><code>  location =</code></pre><pre><code>  mailbox Drafts {</code></pre><pre><code>    special_use = \Drafts</code></pre><pre><code>  }</code></pre><pre><code>  mailbox Junk {</code></pre><pre><code>    special_use = \Junk</code></pre><pre><code>  }</code></pre><pre><code>  mailbox Sent {</code></pre><pre><code>    special_use = \Sent</code></pre><pre><code>  }</code></pre><pre><code>  mailbox "Sent Messages" {</code></pre><pre><code>    special_use = \Sent</code></pre><pre><code>  }</code></pre><pre><code>  mailbox Trash {</code></pre><pre><code>    special_use = \Trash</code></pre><pre><code>  }</code></pre><pre><code>  mailbox virtual.All {</code></pre><pre><code>    comment = All my messages</code></pre><pre><code>    special_use = \All</code></pre><pre><code>  }</code></pre><pre><code>  prefix =</code></pre><pre><code>}</code></pre><pre><code>passdb {</code></pre><pre><code>  args = /etc/dovecot/dovecot-sql.conf.ext</code></pre><pre><code>  driver = sql</code></pre><pre><code>}</code></pre><pre><code>passdb {</code></pre><pre><code>  driver = pam</code></pre><pre><code>}</code></pre><pre><code>plugin {</code></pre><pre><code>  fts = solr</code></pre><pre><code>  fts_autoindex = yes</code></pre><pre><code>  fts_enforced = yes</code></pre><pre><code>  fts_solr = url=<a href="http://localhost:8983/solr/dovecot/">http://localhost:8983/solr/dovecot/</a></code></pre><pre><code>  sieve = file:~/sieve;active=~/.dovecot.sieve</code></pre><pre><code>}</code></pre><pre><code>protocols = " imap lmtp sieve pop3 sieve"</code></pre><pre><code>service imap {</code></pre><pre><code>  vsz_limit = 4 G</code></pre><pre><code>}</code></pre><pre><code>service index-worker {</code></pre><pre><code>  vsz_limit = 2 G</code></pre><pre><code>}</code></pre><pre><code>service indexer-worker {</code></pre><pre><code>  vsz_limit = 2 G</code></pre><pre><code>}</code></pre><pre><code>service lmtp {</code></pre><pre><code>  inet_listener lmtp {</code></pre><pre><code>    address = 127.0.0.1</code></pre><pre><code>    port = 24</code></pre><pre><code>  }</code></pre><pre><code>}</code></pre><pre><code>ssl_cert = </etc/letsencrypt/live/WITHELD/fullchain.pem</code></pre><pre><code>ssl_client_ca_dir = /etc/ssl/certs</code></pre><pre><code>ssl_dh = # hidden, use -P to show it</code></pre><pre><code>ssl_key = # hidden, use -P to show it</code></pre><pre><code>userdb {</code></pre><pre><code>  args = /etc/dovecot/dovecot-sql.conf.ext</code></pre><pre><code>  driver = sql</code></pre><pre><code>}</code></pre><pre><code>userdb {</code></pre><pre><code>  driver = passwd</code></pre><pre><code>}</code></pre><pre><code>protocol lmtp {</code></pre><pre><code>  mail_plugins = " fts fts_solr virtual sieve"</code></pre><pre><code>  postmaster_address = WITHELD</code></pre><pre><code>}</code></pre><pre><code>protocol lda {</code></pre><pre><code>  mail_plugins = " fts fts_solr virtual sieve"</code></pre><pre><code>}</code></pre><pre><code>protocol imap {</code></pre><pre><code>  mail_max_userip_connections = 40</code></pre><pre><code>}</code><o:p></o:p></pre></div></div><div><p class=MsoNormal> <o:p></o:p></p></div><div><p class=MsoNormal> <o:p></o:p></p></div><div><p class=MsoNormal>-<o:p></o:p></p></div></div></blockquote></div></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p></div></body></html>