Not only does M$ Outlook not work well with others, it strips headers I
use for training spam filters.
Hi All and my sincere thanks to Jakob and Joseph for your responses.
I got around the nightmare for this site but it is far from
satisfactory and given both Thunderbird, Roundcube and the Android
e-mail client work perfectly as expected, this following links
comments enforce what I experienced over the weekend:
http://comments.gmane.org/gmane.mail.imap.dovecot/79231
I have not struck this for other sites using Outlook 2013 (though I
continually banter that Outlook version 'anything' is designed for MS
Exchange and nothing else), but then again I have not had Outlook
needing to share the same e-mail accounts across PCs.
So the bottom line for this particular site is:
Set the "Root Folder" for IMAP in outlook to "mail". This is messy
from my beloved Linux command line perspective in that you end up with
${HOME}/login_name/mail/mail. But it does work and stops the Outlook
crashes.
If you set it to the Outlook recommended "INBOX" or "Inbox", you can't
see or access subfolders.
Now here comes the ugly part of Outlook 2013 using IMAP to Linux (at
least for this site):
If you want to share a single e-mail account across multiple PCs
running Outlook 2013, you _cannot_ use the "Root Folder" of "mail" as
I have indicated above. The workaround is to create each subsequent PC
with a "mail2", "mail3" etc folder (without the quote marks of
course). If you set up two PCs with the same Root Folder, the new PC
crashes out of Outlook and eventually so does the original PC. The
only way around this is to delete the identity and PST files in
Outlook and strictly set them up again to different "mail" something
folders. Almost reminds me of the old MS "Share Violation" issue :-)
So after the user is set to the mail2/mail3 folder and it appears
under the user's original "mail" folder, you then have to blow away
the mail2/mail3 folder and then do a symbolic link to the mail folder:
ln -s mail mail2
In this way, both users on the PCs will be seeing the same IMAP
folders, being mail and mail2 on two different PCs. Naturally to add a
third PC to this would be "mail3" etc.
Now the other ugly part of this is you also need to update their
.subscriptions file in ${HOME}/login_name/mail to show folders like:
mail/Sent Items
mail/Junk E-mails
mail2/Sent Items
mail2/Junk E-mails
Given you would need to manually do this above, and is just not
suitable, I have written two scripts to automate this process and it
works cleanly so far.
The first script does the automatic removal of the mail2/mail3 etc
directory and creates the symbolic link, the second script is used to
redo the .subscriptions file if the contents of the 'mail' directory
change.
You may need to mod these but I have a cron running as root to do this.
Script 1 (mail_root_enforce):
=----------------------------------------------------------------------------------=
COMPLETE_HOME=/u/home
cd ${COMPLETE_HOME}
for USERHOME in *
do
ls -d ${USERHOME}/mail/mail? | while read CHECKME
do
JUST_CHECKME=basename ${CHECKME}
if [ -d ${CHECKME} -a -L ${CHECKME} ]
then
#echo "${CHECKME} is ok"
:
else
echo "${CHECKME} is _not_ ok"
cd ${USERHOME}/mail
rm -rf ${COMPLETE_HOME}/${CHECKME}
ln -s mail ${JUST_CHECKME}
fi
done
cd ${COMPLETE_HOME}
done
Script 2 (mail_multi_users):
=----------------------------------------------------------------------------------=
cd /u/home
for THIS_USER in *
do
MORE_THAN_1=ls -d ${THIS_USER}/mail/mail* | wc -l
if [ "${MORE_THAN_1}" -gt "1" ]
then
# echo "${THIS_USER} has more than one"
ls ${THIS_USER}/mail/mail >${THIS_USER}/subcount
if [ ! -f ${THIS_USER}/subcount_last ]
then
>${THIS_USER}/subcount_last
fi
ISDIFF=diff ${THIS_USER}/subcount ${THIS_USER}/subcount_last | wc -l | awk '{print $1}'
if [ "${ISDIFF}" -gt "0" ]
then
# echo "Is Different"
ls ${THIS_USER}/mail/mail >${THIS_USER}/subscription_tmp
>${THIS_USER}/subscription_new
for ROOT_MAIL_DIR in ${THIS_USER}/mail/mail*
do
MAIL_BASE_NAME=basename ${ROOT_MAIL_DIR}
cat ${THIS_USER}/subscription_tmp | sed
"s:^:$MAIL_BASE_NAME/:g" >>${THIS_USER}/subscription_new
done
cp ${THIS_USER}/subscription_new
${THIS_USER}/mail/.subscriptions
chown ${THIS_USER}:popusers ${THIS_USER}/mail/.subscriptions
cp ${THIS_USER}/subcount ${THIS_USER}/subcount_last
fi
fi
done
You will note the ${HOME} directories are all under /u/home so if you
do sadly need to use these scripts, please change the /u/home to suite
the ${HOME} location set on your server. I prefer to run this as root
to enforce things and not have any funny permission errors, and also
to save needing to run multiple instances for multiples users.
One annoying caveat that the site will have to get used to: the mail2,
mail3 folders do show up when using good e-mail clients like
Thunderbird, SOGo, Roundcube or Android e-mail client. This is because
they are seeing the contents of the .subscriptions file. I haven't
looked into Dovecot doco for possible multiple .subscription files to
make the folders bit look 'nicer'. I will look at something like
'namespace' to see if this might help. Please bear in mind this was in
an emergency to get things at least 'working' so the users were happy
when they hit the office on Monday.
A documented story for your perusal and use if you are 'stuck' like I
was. I will continue to try and see if there is a more elegant
work-around but for now, this is all I can come up with.
PS: I notice everyone suppresses their e-mail footer so doing the same
here :-)