<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:"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;
font-size:10.0pt;
font-family:"Courier New";}
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>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><p class=MsoNormal><o:p> </o:p></p><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><p class=MsoNormal><o:p> </o:p></p><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><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Something to ensure a consistent username for indexing would be great.<o:p></o:p></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:pjw@rhyme.com.au">Philip Warner</a><br><b>Sent: </b>Monday, 19 September 2022 10:30 PM<br><b>To: </b><a href="mailto:dovecot@dovecot.org">dovecot@dovecot.org</a><br><b>Subject: </b>doveadm-search finds emails, but IMAP search fails to find any</p></div><p class=MsoNormal><o:p> </o:p></p><div><div><p>Using dovecot 2.3.7.2 with solr 8.11.2 when I do:</p><p><code><span style='font-size:10.0pt'>doveadm search -u user mailbox INBOX subject "something"</span></code></p><p>I get multiple mail ID's.</p><p>When I start a manual IMAP session and login as that user, select INBOX, and try the command:</p><p><code><span style='font-size:10.0pt'>. search subject "something"</span></code></p><p>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.</p><p>The <code><span style='font-size:10.0pt'>dovecot -n</span></code> command returns:</p><pre><code># 2.3.7.2 (3c910f64b): /etc/dovecot/dovecot.conf<o:p></o:p></code></pre><pre><code># Pigeonhole version 0.5.7.2 ()<o:p></o:p></code></pre><pre><code># OS: Linux 5.4.0-125-generic x86_64 Ubuntu 20.04.5 LTS<o:p></o:p></code></pre><pre><code># Hostname: WITHELD<o:p></o:p></code></pre><pre><code>mail_location = maildir:~/Mail<o:p></o:p></code></pre><pre><code>mail_plugins = " fts fts_solr virtual"<o:p></o:p></code></pre><pre><code>mail_privileged_group = mail<o:p></o:p></code></pre><pre><code>managesieve_notify_capability = mailto<o:p></o:p></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<o:p></o:p></code></pre><pre><code>namespace {<o:p></o:p></code></pre><pre><code> location = virtual:~/Mail/virtual<o:p></o:p></code></pre><pre><code> prefix = virtual.<o:p></o:p></code></pre><pre><code> separator = .<o:p></o:p></code></pre><pre><code>}<o:p></o:p></code></pre><pre><code>namespace inbox {<o:p></o:p></code></pre><pre><code> inbox = yes<o:p></o:p></code></pre><pre><code> location =<o:p></o:p></code></pre><pre><code> mailbox Drafts {<o:p></o:p></code></pre><pre><code> special_use = \Drafts<o:p></o:p></code></pre><pre><code> }<o:p></o:p></code></pre><pre><code> mailbox Junk {<o:p></o:p></code></pre><pre><code> special_use = \Junk<o:p></o:p></code></pre><pre><code> }<o:p></o:p></code></pre><pre><code> mailbox Sent {<o:p></o:p></code></pre><pre><code> special_use = \Sent<o:p></o:p></code></pre><pre><code> }<o:p></o:p></code></pre><pre><code> mailbox "Sent Messages" {<o:p></o:p></code></pre><pre><code> special_use = \Sent<o:p></o:p></code></pre><pre><code> }<o:p></o:p></code></pre><pre><code> mailbox Trash {<o:p></o:p></code></pre><pre><code> special_use = \Trash<o:p></o:p></code></pre><pre><code> }<o:p></o:p></code></pre><pre><code> mailbox virtual.All {<o:p></o:p></code></pre><pre><code> comment = All my messages<o:p></o:p></code></pre><pre><code> special_use = \All<o:p></o:p></code></pre><pre><code> }<o:p></o:p></code></pre><pre><code> prefix =<o:p></o:p></code></pre><pre><code>}<o:p></o:p></code></pre><pre><code>passdb {<o:p></o:p></code></pre><pre><code> args = /etc/dovecot/dovecot-sql.conf.ext<o:p></o:p></code></pre><pre><code> driver = sql<o:p></o:p></code></pre><pre><code>}<o:p></o:p></code></pre><pre><code>passdb {<o:p></o:p></code></pre><pre><code> driver = pam<o:p></o:p></code></pre><pre><code>}<o:p></o:p></code></pre><pre><code>plugin {<o:p></o:p></code></pre><pre><code> fts = solr<o:p></o:p></code></pre><pre><code> fts_autoindex = yes<o:p></o:p></code></pre><pre><code> fts_enforced = yes<o:p></o:p></code></pre><pre><code> fts_solr = url=http://localhost:8983/solr/dovecot/<o:p></o:p></code></pre><pre><code> sieve = file:~/sieve;active=~/.dovecot.sieve<o:p></o:p></code></pre><pre><code>}<o:p></o:p></code></pre><pre><code>protocols = " imap lmtp sieve pop3 sieve"<o:p></o:p></code></pre><pre><code>service imap {<o:p></o:p></code></pre><pre><code> vsz_limit = 4 G<o:p></o:p></code></pre><pre><code>}<o:p></o:p></code></pre><pre><code>service index-worker {<o:p></o:p></code></pre><pre><code> vsz_limit = 2 G<o:p></o:p></code></pre><pre><code>}<o:p></o:p></code></pre><pre><code>service indexer-worker {<o:p></o:p></code></pre><pre><code> vsz_limit = 2 G<o:p></o:p></code></pre><pre><code>}<o:p></o:p></code></pre><pre><code>service lmtp {<o:p></o:p></code></pre><pre><code> inet_listener lmtp {<o:p></o:p></code></pre><pre><code> address = 127.0.0.1<o:p></o:p></code></pre><pre><code> port = 24<o:p></o:p></code></pre><pre><code> }<o:p></o:p></code></pre><pre><code>}<o:p></o:p></code></pre><pre><code>ssl_cert = </etc/letsencrypt/live/WITHELD/fullchain.pem<o:p></o:p></code></pre><pre><code>ssl_client_ca_dir = /etc/ssl/certs<o:p></o:p></code></pre><pre><code>ssl_dh = # hidden, use -P to show it<o:p></o:p></code></pre><pre><code>ssl_key = # hidden, use -P to show it<o:p></o:p></code></pre><pre><code>userdb {<o:p></o:p></code></pre><pre><code> args = /etc/dovecot/dovecot-sql.conf.ext<o:p></o:p></code></pre><pre><code> driver = sql<o:p></o:p></code></pre><pre><code>}<o:p></o:p></code></pre><pre><code>userdb {<o:p></o:p></code></pre><pre><code> driver = passwd<o:p></o:p></code></pre><pre><code>}<o:p></o:p></code></pre><pre><code>protocol lmtp {<o:p></o:p></code></pre><pre><code> mail_plugins = " fts fts_solr virtual sieve"<o:p></o:p></code></pre><pre><code> postmaster_address = WITHELD<o:p></o:p></code></pre><pre><code>}<o:p></o:p></code></pre><pre><code>protocol lda {<o:p></o:p></code></pre><pre><code> mail_plugins = " fts fts_solr virtual sieve"<o:p></o:p></code></pre><pre><code>}<o:p></o:p></code></pre><pre><code>protocol imap {<o:p></o:p></code></pre><pre><code> mail_max_userip_connections = 40<o:p></o:p></code></pre><pre><code>}<o:p></o:p></code></pre></div></div><p class=MsoNormal><o:p> </o:p></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><p class=MsoNormal><o:p> </o:p></p></div></body></html>