{"id":517,"date":"2011-11-11T16:01:27","date_gmt":"2011-11-11T15:01:27","guid":{"rendered":"http:\/\/www.ericlee.info\/blog\/?p=517"},"modified":"2011-11-11T16:01:27","modified_gmt":"2011-11-11T15:01:27","slug":"opera-mail-fixing-the-bit-that-sucks","status":"publish","type":"post","link":"https:\/\/www.ericlee.info\/blog\/opera-mail-fixing-the-bit-that-sucks\/","title":{"rendered":"Opera Mail: Fixing the bit that sucks"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft\" style=\"margin-left: 10px; margin-right: 10px;\" title=\"Opera logo.\" src=\"http:\/\/t3.gstatic.com\/images?q=tbn:ANd9GcScYDmAYh0_i2DtkGFC0f7wCNBBZjjoyxFirVkxeEreQxwM5Zg6\" alt=\"\" width=\"122\" height=\"122\" \/><\/p>\n<p>In a previous life, I was a programmer. \u00a0I still like to write a few lines of code from time to time &#8211; especially when I can solve a problem.<\/p>\n<p>This week I decided to use <a href=\"http:\/\/www.opera.com\/mail\/\">Opera Mail<\/a> as my primary email client, no longer relying on <a href=\"http:\/\/www.gmail.com\">Gmail<\/a> (except when travelling). \u00a0I love it &#8211; it&#8217;s simple, it works, and it happily imported all my Gmail inboxes &#8211; tens of thousands of messages.<\/p>\n<p>But one bit of Opera Mail sucks &#8211; it cannot really important contacts. \u00a0There&#8217;s <a href=\"http:\/\/www.hallvord.com\/opera\/conversion1.htm\">a website<\/a> that claims you can do this through them, but it didn&#8217;t work for me &#8211; it crashed every time.<\/p>\n<p>Now I have something like 5,000 contacts in Gmail and I wanted all of them to appear in my new Opera address book.<\/p>\n<p>The solution was to write a tiny (32 line) program in <a href=\"http:\/\/www.perl.org\/\">Perl<\/a>, which I uploaded to one of my webservers. \u00a0I then uploaded the comma delimited (CSV) file which Gmail can give you. \u00a0This generated correctly formatted lines in the Opera Mail file which ends with &#8220;.adr&#8221;. \u00a0I just copied and pasted these in, \u00a0making sure that Opera was not working at the time. \u00a0And it worked.<\/p>\n<p>So, very proud of myself.<\/p>\n<p>If anyone out there stumbles on this while Googling how to import one&#8217;s contacts into Opera Mail, I&#8217;ll be happy to share the code.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In a previous life, I was a programmer. \u00a0I still like to write a few lines of code from time to time &#8211; especially when I can solve a problem. This week I decided to&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[34],"tags":[],"class_list":["post-517","post","type-post","status-publish","format-standard","hentry","category-personal-productivity"],"_links":{"self":[{"href":"https:\/\/www.ericlee.info\/blog\/wp-json\/wp\/v2\/posts\/517","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ericlee.info\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ericlee.info\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ericlee.info\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ericlee.info\/blog\/wp-json\/wp\/v2\/comments?post=517"}],"version-history":[{"count":1,"href":"https:\/\/www.ericlee.info\/blog\/wp-json\/wp\/v2\/posts\/517\/revisions"}],"predecessor-version":[{"id":518,"href":"https:\/\/www.ericlee.info\/blog\/wp-json\/wp\/v2\/posts\/517\/revisions\/518"}],"wp:attachment":[{"href":"https:\/\/www.ericlee.info\/blog\/wp-json\/wp\/v2\/media?parent=517"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ericlee.info\/blog\/wp-json\/wp\/v2\/categories?post=517"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ericlee.info\/blog\/wp-json\/wp\/v2\/tags?post=517"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}