Open Bug 89034 Opened 23 years ago Updated 10 months ago

Messages deleted or moved *by a filter* are not deleted from the server when POP account configured with "Leave message on server / Until I delete or move them from Inbox".

Categories

(MailNews Core :: Networking: POP, defect)

defect
Not set
major

Tracking

(Not tracked)

People

(Reporter: mozilla, Unassigned)

References

(Depends on 1 open bug, Blocks 1 open bug)

Details

Using Mozilla version;
Mozilla 0.9.2
Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:0.9.2) Gecko/20010628

I download messages from Yahoo mail, via their POP3 server. I've set up Mozilla
to leave messages on the server until deleted on the local machine. I've also
set up a filter for messages from a specific company to go into a specific folder.

When I subsequently delete these messages from their folder, they're not deleted
from the server on the subsequent getMsg() call.

I should note here that deleting messages from my Inbox will cause the messages
to be deleted correctly on the server, hence the deciding factor in this matter
is the filter, which is simply based on the senders 'from' address.

There is a tenous link to bug 66270 here, in that when moving messages
between folders they're not properly deleted as expected.

This happens consistently for me.
cc laurel
Navin,
I know we keep track of messages in inbox folder. Does this preference " delete
messages on the server when deleted locally" keep track of local folders too?
Because when you set up a filter the message actually gets moved to a local folder. 
Navin: I tried 4.x and it has the same behavior:  
1.  Created a new 4.x pop profile, set to keep messages on server with enabled
pref to delete messages on server when deleted locally.
2.  Got messages.
3.  Set up a filter with action to move to a folder.
4.  Exited and re-launched to mail.
5.  Sent & got a message which would match the filter. Message was properly
filtered to the pop (user created) folder.
6.  Read the message in the filter destination folder. Deleted that message from
the destination folder.
7.  Also deleted one message from my Inbox.
8.  Exited, created a new (4.x) profile for the same pop user.
9.  Got messages.
Result:  Inbox received all messages except the one I'd deleted from the
previous profile Inbox in step #7.  Message  deleted from filter destination
folder in step #6 was retrieved in the new profile's inbox. 
Status: UNCONFIRMED → NEW
Ever confirmed: true
So I could very easily be going over my disk quota right now on my mail server...
so is this 4xp ?
*** Bug 104029 has been marked as a duplicate of this bug. ***
*** Bug 136124 has been marked as a duplicate of this bug. ***
Will anything be done about this bug???
It seems important and nothing has been done since half of a year!
Nominating this for the next release. Also keeping in mind when trying to filter 
spam may be we should definitely want to get it off the server. If not these 
messages would stay on the server.  

Severity: normal → major
Keywords: nsbeta1
OS: Windows 2000 → All
So, is the desired behavior, if a message is moved from the Inbox to a local 
folder per a filter, and the user has "Delete messages on the server when they 
are deleted locally" checked, that the message be removed from the server?

Note: per bug 117032, suggest changing the wording of "Delete messages on server 
when they are deleted locally" to "Delete messages on server when they are 
deleted or moved from my Inbox.
Jennifer,
See the comments and the resolution of bug 66270. We also delete the message
from the server when moving it to another folder from the inbox as well.  So
removing messages on the server with this pref checked on filtered messages
sounds okay to me. 

*** Bug 176857 has been marked as a duplicate of this bug. ***
QA Contact: sheelar → esther
i'm really sad of this choice, not to keep messages on server when moved.
i use a lot of pop servers, some for work, other just for me.
due to my history some people wrote me on two, or more, mailbox. I feel, no I
need, to rule messages in folder named per sender. it is a feature that i need
to have. and I also have to keep messages on server for personnal choice...
You think right, but messages should be deleted from server if moved to "Local
Folders".
Moving a message to a folder on a server means you just want to organise them
without deletion,
but moving it local means you do not want it on server any longer.
Yes. I have well understood that mozilla dev team doesn't think that this
feature has to been implemented. I think it is a really usefull feature, for
people who work and have many pop accounts and thousand mail a day (like me), it
is very usefull to put on special folder to sort mails... and especially
important mails...
i will continue to use outlook and create a new bug: request for enhancement.
i hope that people will vote for it. thanks for your job guys, cheers.
A fix to Bug 107883  (see also Bug 11055 ) would provide a workaround for most
people having trouble with this bug.  It involves implementing a "Delete
messages from server after X days" feature as provided by Eudora and Outlook
Express, among others.  

This gives you X days to retrieve messages on all of your email clients, and
resolves the problem of POP email boxes filling up.  It is probably easier to
implement than the solution to this one.  It just involves checking the date of
each email when mail is checked, and then deleting those before a certain date.

Please check out Bug 107883 and add your votes to fix it!
Hardware: PC → All
Keywords: nsbeta1+
Keywords: nsbeta1
Mail triage team: nsbeta1+/adt2
Whiteboard: [adt2]
*** Bug 184689 has been marked as a duplicate of this bug. ***
*** Bug 104029 has been marked as a duplicate of this bug. ***
*** Bug 193663 has been marked as a duplicate of this bug. ***
What about adding a flag on each filter?
This flag would specify if a message moved using this specific filter should be
removed from the server or not.
assign to cavin, for now.
Assignee: naving → cavin
adt: need info.  Does this behavior manifest for junk mail that is moved to the
junk filter after being analyzed as spam.
Keywords: nsbeta1+nsbeta1
Whiteboard: [adt2] → [need info][adt2]
I think so.
Well, I take it back. We do use copy service for spam filtering (which is the
same as moving msgs from inbox to another folder) so we should be fine there.
My twopence having patched the 'don't biff when filtering junk to junk folder' bug.

In nsMsgLocalMailFolder::OnMessageClassified there is code that moves a (junk)
message to a new folder which (concuring with comment #25) removes the junk from
the server. It uses a call to nsCOMPtr<nsIMsgCopyService>
copySvc->CopyMessages(). This is for POP. In the matching IMAP function is an
different but equilvalent set of calls.

In nsParseNewMailState::ApplyFilterHit where mail filtering is performed 
MoveIncorporatedMessage() is called.

I haven't looked to see what MoveIncorporatedMessage() does but maybe swaping it
for a call to CopyMessages might do the job.
Esther determined that this is not a problem for junk mail. The messages are
removed from the server when the junk message is moved to the junk folder. This
occurs in a POP account where you have the following checked:

- Leave messages on server
  - Delete messages on server when they are deleted or moved from Inbox

If only "Leave messages on server" is selected, when junk messages are moved to
the junk folder then these messages are not removed from the server, as
expected, because the user has not selected the second checkbox.
Right, MoveIncorporatedMessage() basically copies the filtered msgs from inbox
to the destination folder and then remove the msgs from inbox itself (which is
done by m_inboxFileSpec.Truncate(messageOffset) call).

This is very different from copy service which leaves the copied msgs in the
inbox but marks them DELETED with the X-Mozilla-Status: header like:

   X-Mozilla-Status: 0009

where '0009' means 'DELETED' and 'SEEN'.

Either we replace MoveIncorporatedMessage() with CopyMessages() call or in
nsParseNewMailState::ApplyFilterHit() before we call MoveIncorporatedMessage()
we call MarkMsgsOnPop3Server() first.  I have not tried either yet so not sure
which will work, but seems like the former is a lot easier to do.


IMHO, the proposed approach is not useful.  If I wanted mail deleted from the 
server when downloaded, I'd choose that.  Having this happen only for mail that 
a filter moves isn't helpful.

I think the easiest way out is bug 107883 - delete after n days.

The "right" solution here is to track the origin account with the mail as it 
moves around, and delete on the server when the mail is actually deleted.  But 
I don't think its worth the trouble of implementing if we have bug 107883
I have to say that bug 107883 is something completely different than this bug.
Among many others there two types of messages on POP accounts.
First is heavy traffic miling lists, and the second is important messages that I
want to
keep on server for ever e.g. important contacts, first love letter :) etc...
Whene messages from mailing list go to one folder (filter) and important go
to another folder, one feature as in bug 107883 is not enough here.
But when I open mailing list folder, I want to clear all messages in this folder
from time to time, because older thread do not interest me any longer and
beacause there are usually
archives on Internet. Now I cannot do that. Removing messages propely from
folder is really important feature.

(It is also worth considering if creating a filter moving messages to local
folder, should not
delete them from server, as I want them have locally?)
adt: nsbeta1-
Keywords: nsbeta1nsbeta1-
*** Bug 195239 has been marked as a duplicate of this bug. ***
Two other possible dupes to this bug:

Bug 165085 - Deleted pop mail (on mozilla) isn't deleted on server
Bug 186263 - messages don't get deleted on the pop server
Another possible dupe:
Bug 172330 - Mail is not removed from pop server
Hi. This is my first Bugzilla comment, but I'm a long-time Mozilla user.

Just a note that Mozilla desperately needs a "delete mail from server if older
than N days" feature. That's really the only way to keep the server spool
reasonably clean, but still receive your e-mail in all of your locations (two
PCs, iBook, etc. ad infinitum).

Thanks for listening, 

Rick R.
I agree with comment #30 - this bug is NOT the same as bug 107883. Both(deleting
after X days, and deleting filtered message) functionalities should be included
in mozilla. 
In fact I'm starting to miss The Bat functionality which allowed me to browse
mailbox on server and mark some messages to download,deletion, etc.

Maybe somebody know that: is there any possibility to download messages directly
from Unix mailboxes other than inbox ? If so, i would rather filter my messages
on server than wait for this bug fix.
Greets, 
Ursus
Taking. I would think we can delete the message from the server when it's
deleted from a destination folder just as well as we can when it's deleted from
the inbox. I'll check if that's true or not.
Assignee: cavin → bienvenu
If you have a filter that moves a pop3 message to an other folder in the same
pop3 account, deleting the message from the destination folder will delete the
message from the pop3 server, the next time you do a get new mail. But, if you
move the message to a folder on a different account (e.g., local folders),
deleting the message from the dest folder won't delete the message from the pop3
server. Getting that to work would be tricky, since we don't know what pop3
server/account the message came from at that point.

That being said, I'm not convinced that what I said above always works. My pop3
inbox is full of messages on the server, and I think that at least some of them
have been deleted from my local machine. I could be wrong, I guess.

Yes, aging messages from the pop3 inbox would be a useful feature.
Status: NEW → ASSIGNED
Hi!
I'm using :
Mozilla 1.4
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.4) Gecko/20030624

I dont' really get what You mean by "folder in the same pop3 account" - do You
mean mozilla mailer folder? F.e. login@email/Inbox/top_secret  - when my
messages are moved to such folder by my message filters - they _cannot_ be
removed from server when deleted locally.
Only way to delete them is to set filter destination directory to dir outside
the Inbix f.e. login@email/top_secret - but that's not a solution:(

Greets.

My belief is that the problem doesn't have to do with filters (except those that
filter to other pop3 or local mail accounts), but that we're not flushing the
popstate.dat file after a message is deleted, so if you delete a bunch of
messages, and then exit w/o doing a get new mail, we won't save the fact that
the messages should be deleted.
I take that last part back - we are flushing the popstate.dat file when messages
are deleted.
*** Bug 186263 has been marked as a duplicate of this bug. ***
*** Bug 212108 has been marked as a duplicate of this bug. ***
*** Bug 210470 has been marked as a duplicate of this bug. ***
In answer for comment #40. 
I've tried with even only one message to be deleted. In case of mail directly
into Inbox - it was deleted properly from server, but in case of message moved
from my Inbox (in mozilla) to it's subfolder - deletion of local message does
not causes deletion on server.
IMHO (I'm not mozilla developer, only average user) - that what You're talking
about also happens :(. So...we have two bugs ?
Ursus, I've tried this several times - I set up a mail filter to move messages
with subject xxx to a sub-folder of the inbox. When I delete the message from
the sub-folder of the inbox, and then press get new mail, the message is removed
from the server. (the message is not deleted until the next time you get new mail).

I don't know why it's not working for you - you might want to try a 1.5 build,
though I don't think anything in this area has changed recently.

Of all the dups I've seen, the one thing I understand is that a message filter
that deletes a message is going to cause problems, because emptying the trash
won't delete the message from the server. The easiest thing to do there would be
to mark the message for deletion from the server when the message is filtered to
the trash.
I'm using :
Mozilla 1.5b
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.5b) Gecko/20030827
and...You're right - it's gone :] Everything is working fine. I've tested it on
several pop3 acounts and messages are deleted from server properly.

Problem persisted on mozilla 1.4 (I don't have time to test it on older build
once again)- are You sure that nothing has changed between these versions in
this matter ?
I'm not sure at all - I just didn't think anything had changed recently in that
area in 1.5. I'm glad it's working now.
Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.5b) Gecko/2003090204

OK - I still see this bug but maybe I'm special - though I've not been able
to exactly see what GroupWise server is really doing. I need to snoop the net
traffic first before I can say if Moz is not deleting or GW is ignoring the
delete so I'm not so sure this is fixed.

This last spew of win worms and whatnot has left me with about 5k rejection
mails from my spam filter - per day (I consider my site lucky so far). I've got
a filter that deletes all of them as they come in. They appear in my trash which
I clean out however, they still exist on the server.  If I delete an email in my
inbox, it is removed from the server - but not if it is deleted with a filter.
James, as I said earlier, if you have filters that automatically delete
messages, emptying the trash will *not* cause the messages to be deleted from
the server. However, selecting all the messages in the trash and deleting them
probably will cause them to get deleted from the server - empty trash does not
go through the same delete code as selecting all messages and pressing delete,
for performance reasons. 
Mozilla 1.5b
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.5b) Gecko/20030827

I've checked different e-mail account, from different location and... I'm
confused :(...my mozilla isn't deleting messages from server :(. Some details
about situation:
1. There are aprox. 3000 e-mails in Inbox on server side
2. Every e-mail check takes about five minutes - I have 100MBit/s LAN connection
to that server, so it isn't network delay (another bug?)
3. Messages aren't removed from server when deleted locally from mozilla Inbox
4. They also aren't removed from server when deleted locally from mozilla Inbox
SUBFOLDER - this folder hasn't equivalent on server side 

Another test - I've just removed directly from Inbox aprox. 300 messages -
they've stayed on serverside :(
...well it's even WORSE - my mozilla has just started to download all of them
once again :(
#$^%# ;)


Ursus, you said it was working earlier, but now it's not working? This is with
the same server, from the same client machine? It sounds to me like your
popstate.dat is getting corrupted somehow. That would also explain why mail got
redownloaded. Can you e-mail it to me? It's in your pop3 mail account directory,
next to your INBOX, and is called popstate.dat - thx.
I'm using Thunderbird 0.2a (20030902).
I can log into my POP3 server, so I can look at the mailbox file directly.
Here are some observations:

1. When I delete a message in the Inbox, it gets deleted from the server.

2. I'm using the spam filtering feature.  When the spam filter moves a
spam message to the "Junk" folder, that message gets deleted from the server.

3. I have a message filter that moves certain messages to the "Trash"
folder.  When a message is moved to Trash by this filter, it gets deleted
from the server.

4. I have another message filter that moves certain messages to a folder
I created (under the same POP3 account).  When a message is moved to that
folder by this filter, it does _not_ get deleted from the server.

I think there is a consistency issue.  The UI for this setting is a checkbox
labeled "Delete messages on server when they are deleted or moved from Inbox".
Intuitively, checking this box would indicate that in all four of the
cases above, the deleted/moved messages should be deleted from the server.
However, that is not the case.

From a quick look at more than 2-year's worth of comments in this bug, it
seems to me that the actual implementation treats the "Junk" and "Trash" as
special cases, i.e., moving messages from Inbox to other folders (in the same
account?) does _not_ cause those messages to be deleted from the server,
_unless_ the destination is Junk or Trash.  If this is true, the UI label
is quite misleading.

In addition, such an implementation makes message filters problematic since
it might leave a lot of messages on the server.  This can potentially be
solved by the the new "delete messages from server after x days" workaround
(haven't had time to rebuild TB, so haven't tried it).

Could someone clarify these issues?
I am running 1.4. 
I have a message filter that sends some email to the trash folder.
Those emails that get sent to the trash folder, never get deleted
from the server.

Jack, you are right.  Filtering to Trash doesn't delete the messages on the
server!  I.e., case 3 in my comment was wrong.  (In my case, those messages were
deleted because I marked them as spam afterward, so they were moved to the Junk
folder!)  This also means that spam filtering to Junk is the only special case.

In fact, there is another (important) case I forgot to mention:  if I manually
move a message from the Inbox to another folder under the same POP3 account, the
message _does_ get deleted on the server.  (This includes the messages that are
manually moved to the Trash folder.)

So again, there is a consistency issue.  Intuitively, manually moving a message
to folder X should be exactly the same as automatically filtering a message to
folder X.  However, the current implementation seems to treat them differently...
*** Bug 210607 has been marked as a duplicate of this bug. ***
My proposal:
All messages in Inbox and its SUBFOLDERS should be kept on the server. Once a
message is moved (deleted) out of these (or not originally stored in them at
all) it should be marked for deletion on the server (in the popstate.dat).
This means any message moved to all other folders (junk, trash, user-created
folders/subfolders) will be deleted from server. Be it done manually or by an
automatic filter. This would be consistent and easy to grasp. I have my account
organised this way now. Personal mails I want to preserve are in subfolders of
Inbox. Unimportant mail(linglist)s (like bugzilla) are in toplevel folders (on
the same level as Inbox or Trash).

Any other scheme not based on simple rules like this one would be more
complicated to implement. It would require to handle each folder specially using
some implicit setting which may not fit all users. The other (universal) way
would be that EACH folder would have a flag associated to it. That would say
whether messages moved (manual or filter based) to THIS folder should be DELETED
from the server. The default would be as it is now (flags for Junk/Trash/other
folders will say DELETE), but anybody would be able to set the flags as he
likes. E.g. all user-created folders could be set to DO NOT DELETE from server).
+n : n -> infinity for aceman proposal!
Yes, yes, yes!! It *almost* behaves correctly when the "Delete messages from
server if deleted or moved from the Inbox" is checked.  Works manually, just not
when you use filters.  I've been using TB 0.3 for my work IMAP mail for a while
now, just migrated to it at home for POP access to my Yahoo account.  If, in TB,
I delete a message from the Inbox or move it to a local folder that I created,
the next time I get mail those moved messages are deleted off the Yahoo server.
 BUT if a filter moves a message from the Inbox to a local folder, that message
is never deleted from the Yahoo server.  So...manually moving messages deletes
them from the server correctly, but having a filter move them does not.  I'm
giving this one all my votes...it's a pain in the butt.
this is a local folder on a different account then the yahoo pop3 server? I.e.,
under local folders? Or on the same account? In the filter move case, we don't
delete the message until you delete it from the folder it was moved to.
Otherwise, filters wouldn't be so useful with pop3 leave on server. I'm not sure
what happens if the filter moves the message to a local folder on a different
account but it wouldn't surprise me if that didn't work correctly.

Also, we do have automatic aging from the pop3 server, i.e., you can say, delete
any message from the pop3 server that I downloaded more than 5 days ago.
That must be what's happening...I have local folders not associated with any
account, from Eudora that originally came from Netscape many years ago. 
Deleting a message that has been filtered into a local folder not associated
with an account does not delete the message on the account it originated from.
Seems reasonable, but if I *manually* move a message into a local folder not
associated with an account, the message is deleted from the POP server the next
time I get mail.  (as the check box "delete messages from server when deleted or
moved from the Inbox" implies)  Shouldn't it work this way whether it's me who
moves the message manually or a filter that does it automatically?

thanks,
-Garrett
the thing is, if a filter moves a message, we're almost certain you haven't
looked at the message (it just arrived). But if you move it manually, there's a
good chance you've looked at it. And as I said before, it would make filters not
so useful. You can still take your filters that moves the messages and add a
"delete from server" action to them.
I'm using 1.6a, and I don't have a "Delete from server" action listed in the
Filter dialog box. 

There's a "Delete it" option, but that moves the message to Trash. There's no
way to move a message a non-Trash folder, but also delete it, as far as I can tell. 

Rick R.
There seems to be some confusion from the developers.  The way the interface 
is set up now, if you auto-filter a message into a folder, it doesn't delete 
from the server inbox.  But, the *very reason* that the user has filtered it 
is because they don't want it in the primary inbox.  Why? Because it's 
listserv mail, because it's an automated message, because it's *not 
important*.  It shouldn't matter if a filter moves it or if a human user moves 
it, if it's removed from the inbox - it should be removed from the inbox.  
Period.

This is related to another bug/feature/complaint of mine.  It doesn't appear 
that the spam filters are using the TO field as a token.  Since I own my own 
domain, I give every website, every service a different email address (i.e. if 
I sign up with Amazon, I give them amazon@mydomain.foo, eBay is 
ebay@mydomain.foo, etc.)  I've got a handful of these that result in massive 
spam, so I filter them to a folder called "probable ****".  But, because of 
this filtering/deleting bug, they don't leave the server inbox.

Wow, does that make me crazy.  Almost everything about thunderbird is 
intuitive, except this one thing.  It shouldn't matter whether I've read a 
message or not.  If a filter moves it, it should be the same behavior as if a 
human moved it.

-kari.
1.6b has the delete from server filter action.

Re confused developers, that's me. I filter all mail directly address to me to
my Personal folder. This makes those messages *the most important* messages I
receive, not the least important.
OK, right - I suppose different people use it differently - filtered mail 
might be VERY important (like mail from "the boss").  So, it makes sense that 
it should be an option.  

Has it been verified that deleting a message that is in a folder - but still 
on the server inbox - also deletes it from the server inbox?

Keep up the good work.  Thanks!
*** Bug 220194 has been marked as a duplicate of this bug. ***
*** Bug 227926 has been marked as a duplicate of this bug. ***
*** Bug 229641 has been marked as a duplicate of this bug. ***
*** Bug 231485 has been marked as a duplicate of this bug. ***
My 2 cents about usability:
Today I have played around the first time with the feature "Leave messages from 
server until I delete or move them from Inbox". I noticed that the filtered 
messages were not included in this action and someone told me about the setting 
"Delete from Pop3 server" in the filter dialogue.

Now I wonder: What happens if I set the options to "Leave messages on server" 
and in the filter I set "Delete from Pop3 server"?
1) The filtered messages are deleted and this offends against the setting to 
leave the messages on the server
2) The filtered messages are left on the server and this offends against the 
setting to delete it from server

The settings should be labelled in a way that make clear what effect they cause.
This bug appears also on IMAP accounts, so i suggest to change component from
Networking:POP to filters.
There is no "delete from server" action in mozilla mail filters,
just "delete from POP server" action. Adding "delete from server" action should
solve all problems and shoud resolve this old & annoying bug.
As originally reported, this bug's issue is:  For POP servers configured with 
"Leave message on server / Until I delete or move them from Inbox", messages 
that are deleted or moved *by a filter* are not deleted from the server.
(Matej ZaGiBa, you are quite wrong to claim that this bug appears on IMAP 
servers; it is strictly a POP issue.)

However, as of 1.6, any filter for a POP server can be configured to include the 
action Delete On Server.  (I cannot find the bug# for this new feature.)

David, is there any reason to keep this bug open any longer?  I've read all the 
way thru and the only issues I see that might not be addressed don't have 
anything to do with this bug in the first place.
ok, I use mozmail with (IMAP) exchange server, and massages ARE NOT deleted,
when they are moved by filter. so I'll file another bug.
I have a similar problem using 1.6 connected to an IMAP server.  My specific
trouble happens when messages get flagged as JUNK and I want them moved into a
"junk mail" folder.  The flag icon appears, but the messages do not move.

When I use select+move to folder, all messages move EXCEPT THE LAST ONE IN SORT
ORDER.  I must then select this errant message and move it separately.
*** Bug 251216 has been marked as a duplicate of this bug. ***
Still having the problem with Mozilla 1.6

I have checked "Leave message on server" and "Until I delete or move them from
Inbox"

Strange that filter actions aren't considered as "delete" or "move" actions for
these options.
Product: MailNews → Core
*** Bug 297068 has been marked as a duplicate of this bug. ***
Mike in comment #73
> ... as of 1.6, any filter for a POP server can be configured to include the 
> action Delete On Server.  (I cannot find the bug# for this new feature.)

Mike, are you referring to bug 47297?  bug 47297 was not implemented. See also TB bug 263327

Depends on: 47297
Summary: Using filters stops messages from being deleted on the server. → Using filters stops messages from being deleted on pop server.
Whiteboard: [need info][adt2] → [adt2]
No, I'm not referring to either of those bugs.  I was referring to a feature that was fully implemented, and fairly new, at the time I posted that comment.

In retrospect, that feature provides a workaround for this problem but doesn't really fix it.

Note that as of Seamonkey 1.1/TB 2.0, the automatic delete-on-server option is only applied for messages deleted locally, not for those that are moved.  This is a good thing, as it simplifies the model considerably.

I haven't tested to see if, since that recent change, the Delete Message filter option activates the automatic delete-on-server, but I expect it does not; in which case, the workaround is: for filters with a Delete Message action, add a Delete Message on Server action.

There may be grounds for wanting the option to leave items on server when deleting via a filter, but I think such cases are rare and add too much complexity to the model.  Far better, as this bug originally requests, to abide by the auto-delete-on-server setting for deletion-by-filter, and require those people with the complex needs to use an alternate solution -- such as, moving the message to a holding-bin folder until such point as it's no longer needed.
Look guys, are you really serious that the problem that I encounter exists from 2001? 

You expect me to read all those comments on only this problem entered on the option "leave messages on server", let alone the pile of problems that fill my search screen in the buglist.

One pile says "leave messages on server" doesn't work right, don't use it and another pile says switch on "leave messages on server" because you will loose messages.

To me there's only one conculsion: don;t use the program at all.
Product: Core → MailNews Core
QA Contact: esther → networking.pop
v.3.0.4: I use POP mailbox with "leave messages on server" option with "until i delete whem". If message in Inbox and I delete it - it deleted from server. If not (IN other folder by applying filter) it not deleted from server.
I'm using v3.0.4 on Windows XP SP3 and messages are not deleted from the server even when left in the Inbox.  I also have the setting "leave messages on server" with "until I delete them", and filters that have the action "delete from POP server".  The filters successfully mark messages as junk, but do not delete them from the POP server, and do not update the popstate.dat file with a "d" status.  These filters are set with "Apply filter when: Checking Mail or Manually Run".  

If I create a filter with "Apply filter when: Manually Run" and condition "Junk Status is Junk" with actions "Delete from POP Server" and "Move Message to Junk on <sameaccount>" and run the filter on the Inbox or Junk or another folder the messages are not deleted immediately, but the popstate.dat file is updated.  If I exit TB and start it again the messages are deleted from the server.

If I set the "Apply filter when:" to "Checking Mail or Manually Run" the condition "Junk Status is Junk" becomes invalid.  If I define the filter with "Apply filter when: Checking Mail (after classification) or Manually Run" the condition Junk Status is available but the filter does not run on incoming mail, which is confirmed by the filter log.

I tried emptying the Inbox and compacting it, but that did not help.
Stefan, does this still reproduce with version12 or nightly build?
(going on 3 years with no comments and duplicates, so have to wonder...) 

Easy question for anyone/everyone to answer ...

For versions newer than version 5, is problem gone?

Or not gone? And are we really stuck on bug 47297?
Flags: needinfo?
(In reply to David :Bienvenu from comment #40)
> My belief is that the problem doesn't have to do with filters (except those
> that
> filter to other pop3 or local mail accounts), but that we're not flushing the
> popstate.dat file after a message is deleted, so if you delete a bunch of
> messages, and then exit w/o doing a get new mail, we won't save the fact that
> the messages should be deleted.

Jumping in because Wayne put me here.  :) 

I have a standalone program that is used to fetch headers for a quick visual scan and purge.  What I have seen, and it may be relevant here, is that when the program deletes items from the POP server, and then refreshes the list, the deleted items are gone.  But in reality they are still on the POP server.  POP server appears not to "commit" until a graceful disconnect is issued.
This I validated by seeing two different lists from the same POP account when running two sessions (with two IP addresses).

David, could the problem be the manner of disconnect (or lack of) of the client from the POP server?

Again pardon my making a comment before reading the past 13 years of history.  :)
Flags: needinfo?
Couldn't help but to mention this; in search I came across 

"***comment 9 from Bug 47297 - More flexible ways to delete messages from POP3 mail server
 
Martin 2003-04-30 23:15:59 PDT
> An option to selectively (manually) delete messages from the server would
> also
> be very useful to delete spam messages on the server (to prevent downloading
> them another time on another computer).

- The standalone program mentioned in comment #89 is doing exactly what users have been asking since 2000.
- Suggestion: Once the delete from POP server issue is resolved, the whole options and methods of deleting e-mail from POP server should be revised.
First could some one in the know please report a bugzilla bug; for the last three hours I have tried to use the search to find my name in any Thunderbird bug and I have been missing me.  :)   It appears that Thunderbird is not an all encompassing product.

Thunderbird 16.0.2
Anyway, now I have found some of my reported tests about not being able to delete e-mail from server in "Bug 360300 - 'fetch headers only' mixed with 'until i delete or move them from inbox' can result in lost message bodies ".

- Comment thirteen was made in Nov 2012 and clearly shows that messages are not removed from the POP server.
(In reply to Parkhideh from comment #86)
> I have a standalone program that is used to fetch headers for a quick visual
> scan and purge.  What I have seen, and it may be relevant here, is that when
> the program deletes items from the POP server, and then refreshes the list,
> the deleted items are gone.  But in reality they are still on the POP
> server.  POP server appears not to "commit" until a graceful disconnect is
> issued.
> This I validated by seeing two different lists from the same POP account
> when running two sessions (with two IP addresses).
> David, could the problem be the manner of disconnect (or lack of) of the
> client from the POP server?

Spec of POP3 protocol:
  After receive "DELE nnn" requests from POP3 client,
  POP3 server has to remove mail only when successfull session close.
So, if your program doesn't cleanly terminate session with POP3 after "DELE nnn" requests, phenomenon you saw is pretty normal.

As for Tb, when both (a) "delete from POP3 server of a mail" and (b) "delete the mail" is requested for same mail of message#=NNN/UIDL=LLL, "UID=LLL D" is saved in popstate.dat by (a) for later "DELE NNN", and data related to UIDL=LLL is removed from MsgDB of Tb.
At this stage, or when Tb connects POP3 server and requests "DELE NNN" but fails to loggoff normally, mail of message#=NNN/UIDL=LLL is still kept by POP3 server.
So, if other mail client retrives mail data from same Mbox of same POP3 server, difference like following normally occurs.
  Tb                : mail of UIDL=LLL doesn't exist
  Other mail client : mail of UIDL=LLL exist
(In reply to WADA from comment #89)
> Spec of POP3 protocol:
>   After receive "DELE nnn" requests from POP3 client,
>   POP3 server has to remove mail only when successfull session close.
> So, if your program doesn't cleanly terminate session with POP3 after "DELE
> nnn" requests, phenomenon you saw is pretty normal.
> 
> As for Tb, when both (a) "delete from POP3 server of a mail" and (b) "delete
> the mail" is requested for same mail of message#=NNN/UIDL=LLL, "UID=LLL D"
> is saved in popstate.dat by (a) for later "DELE NNN", and data related to
> UIDL=LLL is removed from MsgDB of Tb.
> At this stage, or when Tb connects POP3 server and requests "DELE NNN" but
> fails to loggoff normally, mail of message#=NNN/UIDL=LLL is still kept by
> POP3 server.
> So, if other mail client retrieves mail data from same Mbox of same POP3
> server, difference like following normally occurs.
>   Tb                : mail of UIDL=LLL doesn't exist
>   Other mail client : mail of UIDL=LLL exist

Your description accurately matches what I have seen.

Now, in my normal use "Leave messages on server" option is never checked; and I have never (in two decades, including Netscape) seen a single downloaded message left on the server.

But when other options such as that reported in bug 360300 is used, the messages remain on the server.  Hence, you can see why I am puzzled.  If the same execution path is processed then the result should be the same.

So what is the difference between automatically deleting the message from the server and manually selecting those to be deleted from a list on the screen?

[Now I step out of bound; three suspects, in selective delete either opening and closing the server connection or message ID=LLL is corrupted.
Or in the automatic case the fetch and delete are bundled instead of a complete fetch and closing connection, then followed by a complete delete command that includes opening and closing the channel to server.  

The later should not be the case because you mentioned all message IDs are saved in popstate.dat and I recall in a test that I crashed the system while downloading e-mails; all of them were downloaded again; but was that because of connection not closing properly or because the delete command had not been issued?]
This bug has been opened for almost 12 years yet still exists... why?  I just discovered it when I was getting an error message about RETR on Yahoo... which I was told that it was a server problem -- funny I was able to access the account using Windows Mail but not with Thunderbird as when I went to Yahoo via web I had thousands of messages that were filter yet still was on the server.
(In reply to George Worley from comment #91)
> This bug has been opened for almost 12 years yet still exists... why?

By George you got it.  :)
Would it be politically incorrect if I said you get what you paid for?

In comment 86 I have mentioned a workable workaround (It works for me as Mozillan's say):
1- Write your own stand alone program; my GUI is in Visual Basic, exec file is 88 K bytes.
2- Run it as if it was a manual garbage collector to remove Thunderbird's dropping of what e-mail should have been deleted.

Development time half a day (excluding documentation) when you use OSPOP3.DLL  (I use POP3 methods only)
:)  :)  :)    Lets laugh it away for now   :)
(In reply to Parkhideh from comment #92)
> (In reply to George Worley from comment #91)
> > This bug has been opened for almost 12 years yet still exists... why?
> 
> By George you got it.  :)
> Would it be politically incorrect if I said you get what you paid for?

Probably... but it doesn't matter....

> In comment 86 I have mentioned a workable workaround (It works for me as
> Mozillan's say):
> 1- Write your own stand alone program; my GUI is in Visual Basic, exec file
> is 88 K bytes.
> 2- Run it as if it was a manual garbage collector to remove Thunderbird's
> dropping of what e-mail should have been deleted.
> 
> Development time half a day (excluding documentation) when you use
> OSPOP3.DLL  (I use POP3 methods only)
> :)  :)  :)    Lets laugh it away for now   :)

Actually have come up with a better solution that stays within Thunderbird... no script to write or use of external .dll files.  It is a good work-around but should not be necessary as Thunderbird should do this on it's own with the options of "Leave It On Server" checked on and "Until I Delete It from Inbox" is checked on.

Say I want filter all of CNET's message to a local folder called CNET.  I create a filter whit the following parameters:

1) Set match all of the following to on.
2) From contains cnet.com
3) Add second thing to perform.
4) Delete Mail from POP server.

And save.  The next time that an email containing in the from address arrives and is downloaded moved and deleted off the server.  The bad thing about Yahoo Mail and Google Mail (Gmail) is they don't use standard POP3 server -- they use their own implementation of POP3 as they both will move the message to the "Trash Folder" instead of delete it -- sort of a cross between IMAP4 and POP3.
Assignee: mozilla → nobody
Status: ASSIGNED → NEW
Summary: Using filters stops messages from being deleted on pop server. → Messages deleted or moved *by a filter* are not deleted from the server when POP account configured with "Leave message on server / Until I delete or move them from Inbox".
Whiteboard: [adt2]
Blocks: 255745

Problem startet with Thunderbird Release 102.12.0 from 7th June

You need to log in before you can comment on or make changes to this bug.