gExodus – a graphical Gmail import tool

In: Neat Stuff

21 Jun 2004

Update: gExodus 0.2 is out.

When I saw (and used) Mark Lyon’s Mbox & Maildir to Gmail Loader (GML) (I wrote about it), I was inspired to write a GUI version of it (I didn’t copy Mark’s code, just in case, though it works on the same basis). gExodus is what came out at the end of half a day’s work.

gExodus main screen screenshot


gExodus allows you to import your emails (in mbox format) into your Gmail account. The mbox format is the classic Unix-style mailbox format, and is used by Mozilla Mail/News, Mozilla Thunderbird, qmail, and many other Unix email applications. There currently isn’t support for qmail’s maildir format, which is a much better format in terms of reliability and efficiency (because there isn’t a need to lock a single file, as it is for the mbox format). There doesn’t seem to be any Windows email application that supports maildir, so I’ve left it out. Someone has also posted a feature request for maildir support in Mail/News (and consequently Mozilla Thunderbird), so vote for the bug! I’ll add support for for maildir and possibly the MH mailbox formats if someone requests for it.

Users of email clients which don’t use the mbox format (such as Outlook Express and Outlook) can convert their emails into the mbox format by importing them into Mozilla Mail/News or Mozilla Thunderbird. I’ll add support for Outlook Express (.DBX) and Outlook (.PST) email formats in the near future (there are many converters already available, in fact).

gExodus is written in Python, and uses PythonCard (which is based on wxPython toolkit). PythonCard is a simpler wxPython, and is amazingly simple to use. With a WYSIWYG resource editor which allows you to place widgets and edit their properties, as well as very simple syntax rules and event handling concepts, PythonCard is Visual Studio with a better grounded language (Python). Granted, there are some inadequacies, one of the most glaring being the lack of a formal tab order (I got around that by moving widgets to the front – the nearer one is to the front, the higher it’s tab order). Still, I’m glad I picked PythonCard for my graphical toolkit – I haven’t used any before and was considering my options at this Python GUI toolkit “comparison” page.

gExodus is a standalone program – Gordon McMillan’s Installer was used to convert the Python scripts into executable form. The article Building ‘standalone’ PythonCard Applications came in very handy, especially when I didn’t manage to get py2exe to work (the executable didn’t work properly). The documentation for using McMillan’s Installer with PythonCard didn’t seem to work also. Due to dependencies on the wxPython and PythonCard libraries, the resulting executable package is pretty hefty (approx. 4MB) – 2.4MB of that is a wxPython DLL.

The source code is currently unreleased (I’ll put it out in the near future). Listed below are the binaries.

Update: gExodus 0.2 is out. You may want to get that instead of version 0.1 below.

Download gExodus:

Feedback is greatly appreciated. I haven’t really tested it on other machines (just my own Pentium 4 desktop running Windows XP), so bugs are expected (please let me know of them).

68 Responses to gExodus – a graphical Gmail import tool

Avatar

kracker

August 31st, 2005 at 4pm

This tool works great still to this day, (08-31-2005) !

Please consider adding more features and releasing and updated version.

The work you have done is exemplary!
Congratulations and Many Thanks …

later yahoo …
//kracker

Cake : I Will Survive

Avatar

cuthead

March 28th, 2006 at 6am

Thunderbird,
I beg you tell me use your software how to sent mail by date
My Mbox (inbox&sent) mail is clutter
I hope you understand what I say

Avatar

Skid

April 9th, 2006 at 5am

OK is it just me or has anyone else got an “@googlemail.com” account?

If so how do you change the setting in Gexodus from @Gmail.com ?

Thanks

Avatar

Frank Gonzalez

May 11th, 2006 at 1am

I must say its a great post. Keep up the good work.

Frank Gonzalez
http://www.gmailcenter.com

Avatar

Claudio

May 19th, 2006 at 2pm

Quick question: What order does gexodus import emails from an mbox file in? I tried to import about 9000 messages last night and the import failed at message 1019. Rather than restart from scratch I’d at least like to delete the 1019 messages that have made it from my Thunderbird inbox, however, I seem to be unable to match the order (by date, by sender, etc) of the imported emails to the inbox. Any else figure this out yet?

Avatar

Shobhon

June 15th, 2006 at 2am

NikMan,

I had the same problem for a while, then used my ISP’s SMTP server (mail.optusnet.com.au for me). Your ISP might also be blocking other SMTP so try useing your ISP’s SMTP.

Hope this helps =)

Shobhon.

Avatar

Solomon

June 15th, 2006 at 4am

Claudio,

Edit your mbox manually and take out the 1019 messages. gExodus does not sort the emails.

Avatar

DAVID

June 27th, 2006 at 7am

Thanks so much to you all – I had 20 different folders over about two years from thunderbird – The labeling feature was what made importing possible – Thanks a million

Avatar

Rachel

June 29th, 2006 at 10am

I am having the same problem as Kate (posted 4/7/05). I’ve imported my messages into Thunderbird, but when I run gExodus, nothing seems to be happening. (No error messages, though). When I checked Gmail, nothing had been transferred there yet. It just sits there.

Avatar

German Gentile

November 14th, 2006 at 6am

Nice utility, amazzing utility, thabks a lot for that save time utility. Now, i need a little more flexibledomain at the end. Do you know now gmail is offering your own domain? So imagine (my case) you have a little business and need to put all that imap stuff online. You cannot (and dont want) use STANDARD gmail.com accounts, wanna export TO mydomain.com (under google) I think it must work just if you allow to change the domain where to send. If you feel is hard to accomplish, can i ask you for the code? TIA German.

Avatar

Alan

November 25th, 2006 at 6pm

Great utility, although i will confess to not using it for importing to Google’s GMail. I am using it as a generic MBOX import/forward utility.

If you could make the whole email address field selectable then you could have a much wider audience, including forwarding to *any* popular web email system.

Result

Avatar

memento

December 21st, 2006 at 3pm

I’ve been trying to use gExodus to move several thousand emails stored in several dozen mbox files to my gmail account. About half of the mboxes transferred successfully and about half stopped transferring after an apparently arbitrary number of emails.

After much frustration I eventually opened them in Thunderbird and found the problematic emails – it turned out that they were the emails with a blank Subject field. I opened up the mbox files in a text editor (BBEdit) and, with some creative find-replace work (regular expressions and line breaks were required for this), I managed to make sure each email that previously had either no “Subject:” field between the “To:” field and the “Date:” field or a blank “Subject:” field with minimal manual labor (be careful of emails with multiple recipients, it is easy to miss those with the find-replaces). The transfers then worked without a problem.

I hope that helps anyone who has had the same problem…

Avatar

mary

January 1st, 2007 at 11am

pkay, I must be retarded or something… I can’t figure out where the file is that has all my e-mail (I’m using Mozilla)

…I keep trying the file “po14.mit.edu.msf” but this doesn’t seem to work… am I looking for a particular extension that would clue me it is the mbox file I’m looking for?

thanks for your help!!
:)

Avatar

ProfessorB

January 30th, 2007 at 5am

In a future release, can you make the program tell users which messages weren’t sent due to error? When importing hundreds of messages, it’s hard to pinpoint which message wasn’t sent.

Avatar

Pragmatopian

February 26th, 2007 at 12am

As an update, if the displayed dates are important, you could (1) temporarily set up a mail server with POP3 and IMAP protocols (such as Macallan Mail Solution Mail Server) on your computer, (2) drag and drop mails from archive folders into the mailbox using any mail client that supports IMAP, and (3) connect to the mailbox from GMail using the POP3 protocol to download the mails. This will retain the date stamps, although it needs you to be a bit more tech savvy and have an ISP that will allow the traffic.

I set this up in twenty minutes (mostly spent fiddling with my router config!).

Avatar

grambala

March 18th, 2007 at 6am

Pragmatopian wrote its possible to download with gmail using pop3 (from selfmade mailserver). I cant find such feature. Anybody else?

Avatar

Endolith

May 8th, 2007 at 10am

This is great, but the dates aren’t saved correctly. Apparently the trick to saving the dates is to set up a POP server on your computer and have Gmail download the messages through the Mail Fetcher…

Avatar

Name

September 12th, 2007 at 6am

I know this thread is old … but now you can import gmails directly from one Gmail account (or google apps mail account) to another. Its under the Accounts area of Settings. Set up the account you want to import from as a POP3 source and then tell the Gmail account you want to import the emails into to go fetch the mail from the POP3-enabled Gmail account