Difference between revisions of "Move mbox Calmail"

From UCB Math Wiki
Jump to: navigation, search
(Moving mailboxes to Calmail)
(Introduction: Added subsection "Check your work")
 
(10 intermediate revisions by 2 users not shown)
Line 1: Line 1:
== Moving mailboxes to Calmail ==
+
= Moving mailboxes to Calmail =
First, you must have a calmail account, with a valid password.
 
  
Your old mail (on mail.math.berkeley.edu) is still available via IMAP, and the new server (calmail.berkeley.edu) is also running IMAP. There is a good chance that you'll be able to move your old mail to your new calmail account simply by copying from within your mail client.
+
Shortly after the transition to CalMail on April 6, you will need to transfer your system mailbox
 +
(the file /var/mail/'''''username''''', which your mail client may refer to
 +
as your ''inbox'') to the CalMail server.  The Math Department systems staff
 +
cannot do this for you, as they do not have your CalMail password.
  
In the case where there is some problem with the old mail folder (e.g. the size is too large), you can use unix command line tools to manipulate the folders.
+
You may also want to move other mailbox files to CalMail.  Possible
 +
examples of this include your file of read mail (the file '''mbox'''
 +
in your home directory) and other files to which you've stored mail.
 +
It is also possible that you may want to leave them where they are.
 +
Whether to move them depends on what mail client you are using, how
 +
you plan to handle your mail after the transition to CalMail, and other
 +
factors too numerous to ponder here.
  
On Solaris, there is a program called movemail which will do the job.
+
== Introduction ==
  
On blue2 (FreeBSD) and on login.math, the functionally equivalent command is called mbox2imap. As an example, if your login name is '''james''', and you want to move your mail spool ('''/var/mail/james''') to the INBOX folder on your new calmail account, the command syntax is
+
First, your mail is still available via IMAP, and the new server
 +
(calmail.berkeley.edu) is also running IMAP. There is a good chance that
 +
you'll be able to move your old mail to your new calmail account simply
 +
by copying from within your mail client.
  
''mbox2imap -u james@math.berkeley.edu -s calmail.berkeley.edu /var/mail/james''
+
In the case where there is some problem with the old mail folder (e.g. the size is too large), you can use Unix command line tools to manipulate the folders.
  
If you want to upload to a folder other than MBOX, use the "-i" option to give it a name - e.g. to upload OLDMBOX to a folder on calmail named NEWMBOX
+
Our best recommendation is a script, called '''xfermail''', that you can
 +
use to transfer Unix mailbox files to CalMail.
  
''mbox2imap -i NEWMBOX -u james@math.berkeley.edu -s calmail.berkeley.edu OLDMBOX''
+
Another possibility is to use an updated version of the Unix '''mail'''
 +
command, called '''nail''' (or '''mailx''' on the FreeBSD server '''blue2''').
 +
It requires a bit more setup, though.
  
Note that the NEWMBOX must already exist on the remote server, or mbox2imap will failYou can create it ahead of time with your email client. OLDMBOX should be the pathname to the name of the mailbox folder you want to move.
+
This page also describes two older applications similar to '''xfermail'''.
 +
They are not recommended, though, since they set the messages' received
 +
date/time to the current date and time, and also mark all transferred
 +
messages as being unreadThese older applications are called '''movemail'''
 +
and '''mbox2imap'''. The Calmail team also uses and provides a tool called '''imapsync''', but that has no advantage over our recommended tools.
  
Unfortunately, if you move your mail with a command line tool, Mac Mail will display the "Date Received" of all the messages in NEWMBOX as the date you moved them.  However, the "Date Sent" will still be correct.  This problem doesn't seem to affect other mail clients.
+
=== Check Your Work ===
  
 +
Users have reported problems with all of the methods described on this page.
 +
After doing a transfer, it is important that you check that the transfer was
 +
performed successfully.  In doing so, you should check that:
 +
* the number of messages in the folder on CalMail equals the number that were to have been transferred;
 +
* none of the Subject: lines of the messages were lost (this tends to happen in batches);
 +
* the date and time of message receipt has not been set to the time of transfer (if this is important for your mail client, then it should be easy to check by sorting the messages on this field); and
 +
* the messages appear in the correct order and their numbering is not out of order.
 +
If your transfer was not successful by these criteria, then try making the transfer again
 +
into a different folder.  Please report to Paul Vojta any problems that you experience.
  
--[[User:SteveSizemore|Steve Sizemore - Unix System Manager]] 04:09, 24 March 2009 (UTC)
+
== xfermail ==
 +
 
 +
The Math Department provides an application called '''xfermail''', to
 +
transfer Unix mailbox files to folders on the CalMail server.
 +
 
 +
To transfer your system mailbox, just run it without arguments:
 +
xfermail
 +
It will print a confirmation message, that it is transferring your file
 +
/var/mail/'''''username''''' (where '''''username''''' is your login
 +
name) to your INBOX on CalMail.  It then asks you for your CalMail password,
 +
and then prints a line of the form
 +
"imaps://'''''username'''''@math.berkeley.edu@calmail.berkeley.edu" [Appended] 65/2348
 +
 
 +
To transfer a mailbox other than your system mailbox to CalMail, invoke
 +
'''''xfermail''''' as follows
 +
xfermail '''''file''''' '''''folder'''''
 +
where '''''file''''' is the file on the math department file system, and
 +
'''''folder''''' is the name of the folder on the CalMail server.
 +
(You can omit the '''''folder''''' argument, in which case it'll put the
 +
mail in your inbox.  This is probably not what you want, since the contents
 +
of '''''file''''' are not in your inbox here.
 +
 
 +
'''Notes'''
 +
* If the folder does not exist yet on the CalMail server, then it will be created.  However, additional steps may be needed to get it to show up on your mail client.  For example, on the CalMail web interface, you will need to "subscribe" it.
 +
* This procedure keeps the messages' date and time of receipt, and preserves their status of being read or unread.
 +
* Documentation on '''xfermail''' is available by running the command "xfermail -h" or "xfermail --help" (without the quotes).
 +
* Mail will remain in the old location after running '''xfermail'''.  It is up to you to delete the mail from its previous location, but you should not do so until after you have checked that it has been transferred correctly.
 +
 
 +
== heirloom mailx (nail) ==
 +
 
 +
'''heirloom mailx''' was previously known as '''nail''', and is still referred to by that name on most of our servers. It is a newer version of the Unix '''mail''' program, and has been
 +
updated to support the IMAP protocol.  (The '''xfermail''' script actually
 +
calls '''nail''' to perform its function.)
 +
 
 +
Before using '''nail''', you have to set up some files in your home
 +
directory.  The procedure for doing so is given in the page on
 +
[[CalMail conversion and Unix mail]].
 +
 
 +
After this setup step, you can move your system mailbox by typing the commands:
 +
nail -f /var/mail/'''''username'''''
 +
save * +INBOX
 +
exit
 +
where '''''username''''' is your Unix login name.  To move an auxiliary mailbox
 +
to a folder on CalMail, type
 +
nail -f '''''file'''''
 +
save * +'''''folder'''''
 +
exit
 +
where '''''file''''' is the name of the file currently containing the messages,
 +
and '''''folder''''' is the name of the CalMail folder that is to receive them.
 +
 
 +
'''Notes'''
 +
* If the folder does not exist yet on the CalMail server, then it will be created.  However, additional steps may be needed to get it to show up on your mail client.  For example, on the CalMail web interface, you will need to "subscribe" it.
 +
* This procedure keeps the messages' date and time of receipt, and preserves their status of being read or unread.
 +
* The '''nail''' command is available on all math department machines; on the FreeBSD server '''blue2''', the command is named '''mailx''', rather than the old name '''nail'''.
 +
* Documentation on '''nail''' is available by running the command "man nail" (without the quotes).  Note that the man page refers to the command as '''mailx''', but it is installed on our system as '''nail'''.  (The name '''mailx''' is already "taken", since it refers to the system command.)
 +
* Mail will remain in the old location after running '''nail'''.  It is up to you to delete the mail from its previous location, but you should not do so until after you have checked that it has been transferred correctly.
 +
 
 +
== movemail (deprecated) ==
 +
 
 +
'''movemail''' is part of the Gnu mailutils package, and is designed for the
 +
purpose of moving mail from one mailbox to another.
 +
 
 +
To use it to move your system mailbox, type the command:
 +
movemail -p /var/mail/'''''username''''' imaps://'''''username'''''%40math.berkeley.edu@calmail.berkeley.edu
 +
where '''''username''''' is your Unix login name.  To move an auxiliary mailbox
 +
to a folder on CalMail, type
 +
movemail -p '''''file''''' imaps://'''''username'''''%40math.berkeley.edu@calmail.berkeley.edu/'''''folder'''''
 +
where '''''file''''' is the name of the file currently containing the messages,
 +
and '''''folder''''' is the name of the CalMail folder that is to receive them.
 +
 
 +
'''Notes'''
 +
* Before moving mail into a folder, that folder has to be created on the CalMail server.  That can be done using your mail program, or using [https://calmail.berkeley.edu Calmail's web interface].
 +
* The characters "%40" is not a typo.  This is how the Gnu mailutils package requires the "at" symbol to be represented in IMAP usernames.
 +
* After being transferred, the messages will show up as having all been received as of when you ran the '''movemail''' command.
 +
* After being transferred, all of the messages will have their status changed to '''unread'''.
 +
* '''movemail''' will ask you for your CalMail password each time you run it.
 +
* The '''movemail''' command is only available on Solaris systems, such as the login servers blue1 and blue3.  It is not available on login.math.berkeley.edu.
 +
* Documentation on '''movemail''' is available on the web, at http://www.gnu.org/software/mailutils/manual/html_node/movemail.html#movemail.
 +
* Mail will remain in the old location after running '''movemail''' (this is what the '''-p''' option does).  It is up to you to delete the mail from its previous location, but you should not do so until after you have checked that it has been transferred correctly.
 +
 
 +
== mbox2imap (deprecated) ==
 +
 
 +
'''mbox2imap''' is a '''python''' script that is very similar to '''movemail'''.
 +
 
 +
To use it to move your system mailbox, type the command:
 +
mbox2imap -u '''''username'''''@math.berkeley.edu -s calmail.berkeley.edu /var/mail/'''''username'''''
 +
where '''''username''''' is your Unix login name.  To move an auxiliary mailbox
 +
to a folder on CalMail, type
 +
mbox2imap -u '''''username'''''@math.berkeley.edu -s calmail.berkeley.edu -i '''''folder''''' '''''file'''''
 +
where '''''file''''' is the name of the file currently containing the messages,
 +
and '''''folder''''' is the name of the CalMail folder that is to receive them.
 +
 
 +
'''Notes'''
 +
* Before moving mail into a folder, that folder has to be created on the CalMail server.  That can be done using your mail program, or using [https://calmail.berkeley.edu Calmail's web interface].
 +
* After being transferred, the messages will show up as having all been received as of when you ran the '''mbox2imap''' command.
 +
* After being transferred, all of the messages will have their status changed to '''unread'''.
 +
* '''mbox2imap''' will ask you for your CalMail password each time you run it.
 +
* The '''mbox2imap''' command is available on all math department computers.
 +
* Documentation on '''mbox2imap''' is rather sparse.  Run it without arguments to receive a brief usage summary.
 +
* Mail will remain in the old location after running '''mbox2imap'''.  It is up to you to delete the mail from its previous location, but you should not do so until after you have checked that it has been transferred correctly.

Latest revision as of 21:20, 9 April 2009

Moving mailboxes to Calmail

Shortly after the transition to CalMail on April 6, you will need to transfer your system mailbox (the file /var/mail/username, which your mail client may refer to as your inbox) to the CalMail server. The Math Department systems staff cannot do this for you, as they do not have your CalMail password.

You may also want to move other mailbox files to CalMail. Possible examples of this include your file of read mail (the file mbox in your home directory) and other files to which you've stored mail. It is also possible that you may want to leave them where they are. Whether to move them depends on what mail client you are using, how you plan to handle your mail after the transition to CalMail, and other factors too numerous to ponder here.

Introduction

First, your mail is still available via IMAP, and the new server (calmail.berkeley.edu) is also running IMAP. There is a good chance that you'll be able to move your old mail to your new calmail account simply by copying from within your mail client.

In the case where there is some problem with the old mail folder (e.g. the size is too large), you can use Unix command line tools to manipulate the folders.

Our best recommendation is a script, called xfermail, that you can use to transfer Unix mailbox files to CalMail.

Another possibility is to use an updated version of the Unix mail command, called nail (or mailx on the FreeBSD server blue2). It requires a bit more setup, though.

This page also describes two older applications similar to xfermail. They are not recommended, though, since they set the messages' received date/time to the current date and time, and also mark all transferred messages as being unread. These older applications are called movemail and mbox2imap. The Calmail team also uses and provides a tool called imapsync, but that has no advantage over our recommended tools.

Check Your Work

Users have reported problems with all of the methods described on this page. After doing a transfer, it is important that you check that the transfer was performed successfully. In doing so, you should check that:

  • the number of messages in the folder on CalMail equals the number that were to have been transferred;
  • none of the Subject: lines of the messages were lost (this tends to happen in batches);
  • the date and time of message receipt has not been set to the time of transfer (if this is important for your mail client, then it should be easy to check by sorting the messages on this field); and
  • the messages appear in the correct order and their numbering is not out of order.

If your transfer was not successful by these criteria, then try making the transfer again into a different folder. Please report to Paul Vojta any problems that you experience.

xfermail

The Math Department provides an application called xfermail, to transfer Unix mailbox files to folders on the CalMail server.

To transfer your system mailbox, just run it without arguments:

xfermail

It will print a confirmation message, that it is transferring your file /var/mail/username (where username is your login name) to your INBOX on CalMail. It then asks you for your CalMail password, and then prints a line of the form

"imaps://username@math.berkeley.edu@calmail.berkeley.edu" [Appended] 65/2348

To transfer a mailbox other than your system mailbox to CalMail, invoke xfermail as follows

xfermail file folder

where file is the file on the math department file system, and folder is the name of the folder on the CalMail server. (You can omit the folder argument, in which case it'll put the mail in your inbox. This is probably not what you want, since the contents of file are not in your inbox here.

Notes

  • If the folder does not exist yet on the CalMail server, then it will be created. However, additional steps may be needed to get it to show up on your mail client. For example, on the CalMail web interface, you will need to "subscribe" it.
  • This procedure keeps the messages' date and time of receipt, and preserves their status of being read or unread.
  • Documentation on xfermail is available by running the command "xfermail -h" or "xfermail --help" (without the quotes).
  • Mail will remain in the old location after running xfermail. It is up to you to delete the mail from its previous location, but you should not do so until after you have checked that it has been transferred correctly.

heirloom mailx (nail)

heirloom mailx was previously known as nail, and is still referred to by that name on most of our servers. It is a newer version of the Unix mail program, and has been updated to support the IMAP protocol. (The xfermail script actually calls nail to perform its function.)

Before using nail, you have to set up some files in your home directory. The procedure for doing so is given in the page on CalMail conversion and Unix mail.

After this setup step, you can move your system mailbox by typing the commands:

nail -f /var/mail/username
save * +INBOX
exit

where username is your Unix login name. To move an auxiliary mailbox to a folder on CalMail, type

nail -f file
save * +folder
exit

where file is the name of the file currently containing the messages, and folder is the name of the CalMail folder that is to receive them.

Notes

  • If the folder does not exist yet on the CalMail server, then it will be created. However, additional steps may be needed to get it to show up on your mail client. For example, on the CalMail web interface, you will need to "subscribe" it.
  • This procedure keeps the messages' date and time of receipt, and preserves their status of being read or unread.
  • The nail command is available on all math department machines; on the FreeBSD server blue2, the command is named mailx, rather than the old name nail.
  • Documentation on nail is available by running the command "man nail" (without the quotes). Note that the man page refers to the command as mailx, but it is installed on our system as nail. (The name mailx is already "taken", since it refers to the system command.)
  • Mail will remain in the old location after running nail. It is up to you to delete the mail from its previous location, but you should not do so until after you have checked that it has been transferred correctly.

movemail (deprecated)

movemail is part of the Gnu mailutils package, and is designed for the purpose of moving mail from one mailbox to another.

To use it to move your system mailbox, type the command:

movemail -p /var/mail/username imaps://username%40math.berkeley.edu@calmail.berkeley.edu

where username is your Unix login name. To move an auxiliary mailbox to a folder on CalMail, type

movemail -p file imaps://username%40math.berkeley.edu@calmail.berkeley.edu/folder

where file is the name of the file currently containing the messages, and folder is the name of the CalMail folder that is to receive them.

Notes

  • Before moving mail into a folder, that folder has to be created on the CalMail server. That can be done using your mail program, or using Calmail's web interface.
  • The characters "%40" is not a typo. This is how the Gnu mailutils package requires the "at" symbol to be represented in IMAP usernames.
  • After being transferred, the messages will show up as having all been received as of when you ran the movemail command.
  • After being transferred, all of the messages will have their status changed to unread.
  • movemail will ask you for your CalMail password each time you run it.
  • The movemail command is only available on Solaris systems, such as the login servers blue1 and blue3. It is not available on login.math.berkeley.edu.
  • Documentation on movemail is available on the web, at http://www.gnu.org/software/mailutils/manual/html_node/movemail.html#movemail.
  • Mail will remain in the old location after running movemail (this is what the -p option does). It is up to you to delete the mail from its previous location, but you should not do so until after you have checked that it has been transferred correctly.

mbox2imap (deprecated)

mbox2imap is a python script that is very similar to movemail.

To use it to move your system mailbox, type the command:

mbox2imap -u username@math.berkeley.edu -s calmail.berkeley.edu /var/mail/username

where username is your Unix login name. To move an auxiliary mailbox to a folder on CalMail, type

mbox2imap -u username@math.berkeley.edu -s calmail.berkeley.edu -i folder file

where file is the name of the file currently containing the messages, and folder is the name of the CalMail folder that is to receive them.

Notes

  • Before moving mail into a folder, that folder has to be created on the CalMail server. That can be done using your mail program, or using Calmail's web interface.
  • After being transferred, the messages will show up as having all been received as of when you ran the mbox2imap command.
  • After being transferred, all of the messages will have their status changed to unread.
  • mbox2imap will ask you for your CalMail password each time you run it.
  • The mbox2imap command is available on all math department computers.
  • Documentation on mbox2imap is rather sparse. Run it without arguments to receive a brief usage summary.
  • Mail will remain in the old location after running mbox2imap. It is up to you to delete the mail from its previous location, but you should not do so until after you have checked that it has been transferred correctly.