Net/imap - imap.search "TO" can't find email

I’m having trouble with the “search” feature of Net::IMAP. I’m
attempting to search for a message “TO” a particular recipient.

The email recipient is something like:

[email protected]

A search function of:

imap.search([“TO”, “[email protected]”])

… simply returns nothing. By removing the mailbox details and only
searching for the domain:

imap.search([“TO”, “@this.dom.ain”])

… I return results. In fact, I can build the “TO” string as long
as:

imap.search([“TO”, “[email protected]”])

… and results are returned.

What don’t I understand? Is it my limited knowledge of Ruby, or the
imap.search I’m not understanding???

Note: Here’s the fetch “ENVELOPE” of the mail I’m after:

irb(main):073:0* imap.fetch(1179, “ENVELOPE”)
<… snip…>
, to=[#<struct Net::IMAP::Address name=“[email protected]”,
route=nil, mailbox=“080416w_test”, host=“this.dom.ain”>]
<… snip…>

Interestingly, I can find the following (another entirely different
message):

irb(main):107:0> imap.search([“TO”, “[email protected]”])
=> [1174]

So it appears something about the “_” character in the mailbox of the
previous search might be the culprit:

[email protected]