Closed Bug 228638 Opened 21 years ago Closed 21 years ago

Reuse connection when sending multiple messages through same SMTP server

Categories

(MailNews Core :: Networking: SMTP, enhancement)

enhancement
Not set
normal

Tracking

(Not tracked)

RESOLVED DUPLICATE of bug 136871

People

(Reporter: mark, Assigned: Bienvenu)

Details

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.6b) Gecko/20031207 Firebird/0.6 StumbleUpon/1.73
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.6b) Gecko/20031207 Firebird/0.6 StumbleUpon/1.73

When I am working offline I often end up with 20 or 30 emails to be sent when
reconnecting. Since we use authenticated SMTP over SSL with hostname lookups for
connecting SMTP clients, it can take several seconds (sometimes 15 or 20
depending on DNS timeouts and network speed) to establish the SMTP connection to
the server, set up SSL and authenticate.

Mozilla seems to set up such a connection for each and every message to be sent
when "Send Unsent Messages" is selected. This slows down the whole process
dramatically.

I believe that SMTP is designed to allow multiple messages to be sent once the
connection has been established. It would be most useful if Mozilla would at
least attempt to send multiple messages once the connection had been
established, to avoid paying the setup costs again and again.

I use Thunderbird with the current offline extension as of 2003/12/16.

Reproducible: Always

Steps to Reproduce:
1. Go offline
2. Compose multiple messages
3. Go online and choose "Send Unsent Messages"

Actual Results:  
Mozilla proceeds to connect to the SMTP server and sends the first message. Then
Mozilla connects to the same server again, and sends the second message. Repeat
until all messages are sent.

Expected Results:  
Mozilla should connect to the server, and then try to send all of the messages
without re-establishing the connection between each message.
You're right, the SMTP protocol is able to handle multiple mails in one connection.

And the problem is indeed not our SMTP protocol handler but the functions
feeding it. One big task is to detect and reorder/merge messages with same
identity (and thus same SMTP server). That's because we cannot send all messages
through one server, most only accept sender addresses from their customers.

I think it's a good idea to reuse the connection, but it's more than a simple
change. To this I don't know if every server is able to do this though the
protocol itself can.
I adjusted summary and severity.
Severity: minor → enhancement
Status: UNCONFIRMED → NEW
Component: Offline → Networking: SMTP
Ever confirmed: true
OS: Windows XP → All
Hardware: PC → All
Summary: Send Unsent Messages sets up new SMTP connection for each message → Reuse connection when sending multiple messages through same SMTP server
Christian

Surely ordering the messages is not an issue, since one account generally uses
one SMTP server (as a relay for that user). The SMTP server, acting as a relay,
then has to figure out which SMTP server to send that message on to. But Mozilla
/ Thunderbird is always using one SMTP server at a time.

Good point about servers not necessarily allowing this even if the protocol
allows it, so Mozilla should handle that gracefully. Perhaps also a UI checkbox
that tells Mozilla to try this for that server, under the Advanced SMTP tab for
that server.

I'll offer a bounty of $100 for this functionality, and will add it to my bounty
list on http://www.markshuttleworth.com/bounty.html

Mark
dupe of bug 136871

*** This bug has been marked as a duplicate of 136871 ***
Status: NEW → RESOLVED
Closed: 21 years ago
Resolution: --- → DUPLICATE
Product: MailNews → Core
Product: Core → MailNews Core
You need to log in before you can comment on or make changes to this bug.