This is how I do it:
* Fix your email address.
In rmail-primary-inbox-list specify your email address replacing @ with
%40 like this: you%
40server.com.
* Use Mailutils Movemail.
It's usually available from a package manager. I don't know if this is
necessary, but it's how I did it.
* Copy.
Copy the function rmail-insert-inbox-text from rmail.el. After you've
fixed it save off this new version of rmail-insert-inbox-text and load
it in your init file.
* Find the bit that says:
;; At this point, TOFILE contains the name to read:
;; Either the alternate name (if we renamed)
;; or the actual inbox (if not renaming).
* Add the fix.
After the comment put in the line:
(setq tofile (url-unhex-string tofile))
The line after that should be (if (file-exists-p tofile).
Here's why that works.... Movemail's command-line has the server
address after the email address. It's like this "movemail
y...@imap.server.com". So, if your email address has an @ in it then it
becomes "movemail y...@server.com@
imap.server.com" which is nonsense.
The movemail people are aware of this problem, so they support using URL
encoding in addresses. So, you can use %40 instead of @ for the first
one, just like in a URL. Emacs doesn't know about any of this. The
problem is that they decode it when creating the mbox filename. So,
Emacs is expecting an mbox file called you%
40server.com but it gets one
called
y...@server.com. The line of code added removes that confusion.
When I get the time I'll contribute it to Emacs. I don't think it's the
right way to totally fix the problem though.
BR,
Robert Thorpe