Search Support

Avoid support scams. We will never ask you to call or text a phone number or share personal information. Please report suspicious activity using the “Report Abuse” option.

Learn More

I'm moving from Eudora to Thunderbird (on Mac OS), but nothing does a good job for my address book

  • 6 cavab
  • 1 has this problem
  • 7 views
  • Last reply by DonAByrd

more options

I'm trying to help a friend move from Eudora to Thunderbird (on Mac OS), and none of the six or seven methods I've tried (including Thunderbird's Import Address Book from Eudora, and from .csv exported by Eudora) does a decent job with his address book. One big reason is clearly that he has hundreds of entries with free-form text over 256 characters; many also have embedded line breaks, and many use "special" (non-ASCII) characters. If necessary, I could write a program to read Eudora's address book file and write Thunderbird's -- I was a professional software engineer for years -- but I wonder if there's an easier way :-) .

I'm trying to help a friend move from Eudora to Thunderbird (on Mac OS), and none of the six or seven methods I've tried (including Thunderbird's Import Address Book from Eudora, and from .csv exported by Eudora) does a decent job with his address book. One big reason is clearly that he has hundreds of entries with free-form text over 256 characters; many also have embedded line breaks, and many use "special" (non-ASCII) characters. If necessary, I could write a program to read Eudora's address book file and write Thunderbird's -- I was a professional software engineer for years -- but I wonder if there's an easier way :-) .

All Replies (6)

more options

Just a suggesstion, can you import it into a spreadsheet, structure them a bit more, removing crlf etc. exporting them back to csv and importing in TB

more options

we get complaints all the time. But Eudora apparently had a very laissez faire address book, almost to the point of the program looking for an email address in there somewhere. Thunderbird is however tightly defined.

If your going to write code, perhaps you might be better writing improvements to Thunderbird's import. Anyone with skills and time is welcome. Anyone interested in helping develop the new address book even more so.

Otherwise I usually end up sanitizing a csv file and importing that.

more options

DonAByrd said

I'm trying to help a friend move from Eudora to Thunderbird (on Mac OS), and none of the six or seven methods I've tried (including Thunderbird's Import Address Book from Eudora, and from .csv exported by Eudora) does a decent job with his address book. One big reason is clearly that he has hundreds of entries with free-form text over 256 characters; many also have embedded line breaks, and many use "special" (non-ASCII) characters. If necessary, I could write a program to read Eudora's address book file and write Thunderbird's -- I was a professional software engineer for years -- but I wonder if there's an easier way :-) .

Gnospen said

Just a suggesstion, can you import it into a spreadsheet, structure them a bit more, removing crlf etc. exporting them back to csv and importing in TB

I've tried that, but the long text fields are a big problem. Eudora's export to .csv seems to have an absolute limit of 256 chars., where it truncates the field. I thought TB's import had the same limit, but I've gotten it to accept smthg over 300 chars. before it truncates; I don't know if there's a fixed limit or if it truncated for another reason, though it's not obvious why it truncated at that point in my test. Anyway, many of Doug's entries have fields way longer than that; over 100 exceed 1000 chars., and one is over 9,000.

more options

Matt said

we get complaints all the time. But Eudora apparently had a very laissez faire address book, almost to the point of the program looking for an email address in there somewhere. Thunderbird is however tightly defined. If your going to write code, perhaps you might be better writing improvements to Thunderbird's import. Anyone with skills and time is welcome. Anyone interested in helping develop the new address book even more so. Otherwise I usually end up sanitizing a csv file and importing that.

Eudora's address book format does seem very loose, but that's not the problem. I've been trying sanitizing the csv file Eudora exports, but TB truncates "all" of Doug's 500+ fields over 256 chars… Well, I thought it truncated "all" of them, but I just got it to accept over 300 chars. of a longer one, so maybe it has a limit of somewhat more! But he has hundreds that are much longer, including 116 over 1000 chars. and one of 9,000.

I'm not surprised you suggested writing improvements to Thunderbird's import. I'd be glad to do something that'd benefit others as well as Doug, but I wonder how much overhead there'd be to understanding the code that needs work -- or even finding it, though something like code to import files is probably nicely limited to one module -- and then figuring out what to change, linking and testing my changes. The usual problems of doing anything with a large program you've never touched before :-) .

more options

Hmm, so your stuck with books within books.

BEst I can suggest at this point it to point you to source and gopr your C++ is strong enough to read what is happening and modify your approach to suit. The Thunderbird address book is a mork file. Described here https://developer.mozilla.org/en/docs/Mork_Structure

There is the source mork parser.cpp http://mxr.mozilla.org/comm-central/source/db/mork/src/morkParser.cpp and associated header file http://mxr.mozilla.org/comm-central/source/db/mork/src/morkParser.h

And the Eudora import source. http://mxr.mozilla.org/comm-central/source/mailnews/import/eudora/src/nsEudoraImport.cpp

more options

Matt said

Hmm, so your stuck with books within books. BEst I can suggest at this point it to point you to source and gopr your C++ is strong enough to read what is happening and modify your approach to suit. The Thunderbird address book is a mork file. Described here https://developer.mozilla.org/en/docs/Mork_Structure There is the source mork parser.cpp http://mxr.mozilla.org/comm-central/source/db/mork/src/morkParser.cpp and associated header file http://mxr.mozilla.org/comm-central/source/db/mork/src/morkParser.h And the Eudora import source. http://mxr.mozilla.org/comm-central/source/mailnews/import/eudora/src/nsEudoraImport.cpp

Thanks, Matt. My C++ isn't great, but I think it's good enough to help me understand how things work now. (Though the Mork format looks so bad, just understanding how TB handles it might be a big project!) I'd also like to look at the Import from text file, either .csv or LDIF. Can you point me to those? I've been thinking about converting my .csv to LDIF and using TB's Import on that.