Closed Bug 1296535 Opened 8 years ago Closed 8 years ago

Cannot send message to distribution list


(Thunderbird :: Message Compose Window, defect)

51 Branch
Not set


(Not tracked)

Thunderbird 51.0


(Reporter: mschuste, Assigned: aceman)



(Keywords: regression)


(2 files, 2 obsolete files)

User Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36

Steps to reproduce:

I have several distribution lists all under 30 recipients and when choosing a list (it doesn't matter which - they ALL do it), the "Send" tab is grayed out.  Neither "To:, :Cc:" nor "Bcc:" will accept a distribution list to send a message.

I can to each member by placing their address in the "To:" field.

Actual results:

Nothing can happen as the "Send" tab is grayed.

Expected results:

My distribution lists have not changed from 49.0a1 to 51.0a1.
OS: Unspecified → Windows 10
Hardware: Unspecified → x86_64
I also tried re-creating the Lima Ambulance list from scratch on 51.0a1 and it too failed.  It doesn't matter if I send to "To:" or, "Cc:" or, "Bcc:" individually none work.
Thanks for reporting this. And thanks for using Daily, which can have some unexpected bugs ;-)

Note: TB 51. Aceman, we broke this in bug 1290733. We didn't think of mailing lists.
Blocks: 1290733
Ever confirmed: true
Flags: needinfo?(acelists)
Keywords: regression
Yeah. Expanding lists and then checking each recipient may be slow again.
But the previous method also didn't expand recipients, it just saw if anything was input. So do we again just check for a non-empty input (but not via msgCompFields)? Then expansion of ML and checking of @ in recipients is still done upon clicking Send.
Flags: needinfo?(acelists)
(In reply to :aceman from comment #3)
> But the previous method also didn't expand recipients, it just saw if
> anything was input. So do we again just check for a non-empty input (but not
> via msgCompFields)?
Sigh, I got used to the "Send" only becoming available after typing at least "a@b".

Is there no better way to detect mailing lists? List seem to show up as
  list <list>.

I wouldn't want to reimplement that logic in JS again. Can we some of that existing code from the frontend?
But I'd also like to avoid some expensive calls into nsMsgCompose and having to pass it all the input recipients first.
Attached patch patch (obsolete) — Splinter Review
Maybe like this.
Assignee: nobody → acelists
Component: Untriaged → Message Compose Window
OS: Windows 10 → All
Hardware: x86_64 → All
Comment on attachment 8783202 [details] [diff] [review]

Review of attachment 8783202 [details] [diff] [review]:

How expensive is this?

::: mail/components/compose/content/MsgComposeCommands.js
@@ +2966,5 @@
>      let popupValue = awGetPopupElement(row).value;
>      let inputValue = awGetInputElement(row).value.trim();
> +    if ((mailTypes.includes(popupValue) &&
> +        (isValidAddress(inputValue) ||
> +         MailServices.ab.mailListNameExists(inputValue.replace(/ <.*>/, "")))) ||

Looks reasonable. From past experience I'd be careful with the whitespace, so cater for zero to more than one space.
On an extreme case of 1000 recipients where all of them are invalid strings (no @ and not a valid ML name) the loop takes 0.1-0.2 secs.

OK, I made the regexp '.replace(/ *<.*>/, "")'. It covers name formats of "list <anything>", "list<anything>" and even "list".
Attached patch Added check for mailing list (obsolete) — Splinter Review
Changed the regexp as discussed to / *<.*>/

I tested it and it seemed to work ;-)
Attachment #8783202 - Attachment is obsolete: true
Attachment #8783276 - Flags: review+
For those watching the bug: Aceman told me that he will be adding a test so this doesn't regress easily. Thanks, Aceman!
Added the test. Can you imagine any other case we need to check? The test fails without the patch.
Attachment #8783276 - Attachment is obsolete: true
Attachment #8783357 - Flags: review?(jorgk)
Comment on attachment 8783357 [details] [diff] [review]
Added check for mailing list + test

Review of attachment 8783357 [details] [diff] [review]:

Nice. I didn't run it, but I suppose you did. No, I can't imagine more test cases. Well, unless you want to check trimming and such, so type
|   |
|  a@b  |
|  newsgroup  |
|  list  <list>  |
etc. I tried those manually and I inspected the code to make sure we trim properly.

Can you do me a favour? Land this after bug 1296883 so I can see that the X tests clear again.
Attachment #8783357 - Flags: review?(jorgk) → review+
OK, pushed also with some spaces to test the trimming.
Closed: 8 years ago
Resolution: --- → FIXED
Target Milestone: --- → Thunderbird 51.0
Note, the Mozmill failures appearing in the push are not due to this bug, but due to the landing of bug 1265800. I'll raise a new bug for that.
I don't know if this has been included in the release 51.0a1 (2016-08-22) but in this update, sending to ML still does not work.

Also, second problem: I wanted to check the Release Notes (Settings/Help/Release Notes) to see if the patch had been applied but viewing the Release Notes returns the following web page:
The bug got landed in the afternoon, 51.0a1 (2016-08-22) was built at noon. Try the Daily of 23rd.

There are no release notes for Daily versions.
Roger that.  Thanks for what you do!
I have to say something that I may have said before and will say again, I'm sure... I have to thank the men and women who spend countless hours of their own time, and I'm sure at the same pay as those of us who volunteer our time, as first responders, to help others.  Without their dedication and love of accomplishment when they finally squish the bug, we would not have these great products that increase our productivity, save us time and that we may take for granted.  My hat is off to you all and a special thanks to Jorg K and :aceman for your efforts in correcting this problem. 

Job well done!
Thunderbird is maintained by overworked and unpaid(!) volunteers only. We accept donations:

The reasons are given on the TB start page:
(In reply to Jorg K (GMT+2, PTO during summer) from comment #18)
> Try the Daily of 23rd.
Works now in this version.
I put my money where my mouth is... Done.  ;-)
Depends on: 1356881
This bug seems to reappear in version 52.0 and 52.1.  I am unable to send message to distribution list unless I also add a single e-mail address in addition to the distribution list.
What is your OS? Is that list in the Thunderbird internal addressbook or in Mac OS X addressbook or in Outlook addressbook?
I am using Win10 Pro.  My distribution list is in the internal Thunderbird address book.  I do not use Mac OS or Outlook.  I have only used Thunderbird and the internal address book for years.
You say the problem reappeared. In which TB versions did it work for you?
Note that the reporter opened the exact same bug 1362130.
Yes, that was my post.  I will continue this duscussion on but 1362130.  I started a new one because I didn't know if you would respond to a posting to a bug that was marked fixed.
You need to log in before you can comment on or make changes to this bug.