Opened 2 years ago
Closed 2 years ago
#1487814 closed Bugs (invalid)
MDN bug
| Reported by: | nexus | Owned by: | |
|---|---|---|---|
| Priority: | 5 | Milestone: | 0.6-beta |
| Component: | Core functionality | Version: | git-master |
| Severity: | normal | Keywords: | |
| Cc: |
Description
Every message with \Recent flag and message delivery notification tries to send notification in defiance of RFC 3503. MDN must be sent only one time.
There is a bug in program/include/rcube_imap_generic.php in line 1733.
Please replace
} else if ($flag == '$MDNSENT') {
with
} else if ($flag == 'MDNSENT') {
Thanks
Change History (9)
comment:1 Changed 2 years ago by nexus
- Version changed from 0.5.1 to svn-trunk
comment:2 Changed 2 years ago by alec
comment:3 Changed 2 years ago by nexus
Please look at the 99 line
'MDNSENT' => '$MDNSent',
and 1733
} else if ($flag == '$MDNSENT') {
There is one superfluous dollar sign, so the condition never became true.
comment:4 Changed 2 years ago by nexus
Yes, my server supports $MDNSent flag and now it works fine
comment:5 Changed 2 years ago by alec
In line 1733 the flag from FETCH response is checked. So, your "fix" makes that rcube_mail_header::mdn_sent is never set, because server returns "$MDNSent" value in FLAGS item of the FETCH response. Please, describe tour problem once again, because I don't understand it. Works for me.
comment:6 follow-up: ↓ 7 Changed 2 years ago by nexus
Yes, server returns "$MDNSent" value in Flags but at line 99 creates an array $flags with key = 'MDNSENT' and value '$MDNSent'. Condition checks $flags keys! And key = 'MDNSENT' but not '$MDNSENT'.
It leads to client tries to send notifications over and over again when message Flag == \Recent because conditions is never meet
comment:7 in reply to: ↑ 6 Changed 2 years ago by alec
Replying to nexus:
Yes, server returns "$MDNSent" value in Flags but at line 99 creates an array $flags with key = 'MDNSENT' and value '$MDNSent'. Condition checks $flags keys! And key = 'MDNSENT' but not '$MDNSENT'.
This array is not used in fetchHeaders(). You're wrong!!!!
It leads to client tries to send notifications over and over again when message Flag == \Recent because conditions is never meet
No it isn't. And \Recent flag has nothing to this. See steps/mail/show.inc ca. line 73.
comment:8 Changed 2 years ago by nexus
I'm sorry, I'm wrong. It is really not a bug.
Please close the ticket.
comment:9 Changed 2 years ago by alec
- Resolution set to invalid
- Status changed from new to closed

$MDNSENT is a proper flag, so the fix is wrong. I don't understand the issue. Enable imap_debug and provide the log. Does your server support $MDNSENT flag?