Hello;
I have identified what appears to be a long-standing issue with the way
Roundcube generated message IDs.
Recent versions, at least, use the code
'Message-ID' => sprintf('<%...@%s>', md5(uniqid('rcmail'.rand(),true)),
$RCMAIL->config->mail_domain($_SESSION['imap_host'])),
in program/steps/mail/func.inc to generate the Message-ID string.
In probably 99% of installations, this results in a message ID in the form
nnnnnnnnnnnnn...@localhost . This *may* technically be RFC2822-compliant,
depending on how you interpret the RFC. Compliance is a moot point,
however, because several anti-spam applications - including SpamAssassin
and ASSP - do not view nnnnnnnnnnnnn...@localhost as a valid, legitimate
message ID, and will score such messages as spam as a result.
This is not particularly desirable.
My suggestion would be to change program/steps/mail/func.inc to not
include the imap_host setting, but to either:
1, use the canonical hostname of the server, i.e. hostname.domain.tld, as
the right-hand side of the Message-ID (most desirable option);
2, use the FQDN that Roundcube was loaded under, i.e. webmail.domain.tld,
and use that as the right-hand side of the Message-ID (less desirable
option, but still very strictly RFC compliant); or
3, query and use the PTR record for the IP the server is running on (which
may be something non-unique such as customer.noc.tld) and use that as the
right-hand side of the Message-ID (least desirable, as would incur at
least one DNS lookup, and probably other annoying overhead).
Hopefully this shouldn't be too difficult to amend.
-Mike Gilday
Redpin.com
_______________________________________________
List info: http://lists.roundcube.net/dev/