jaromail

a commandline tool to easily and privately handle your e-mail
git clone git://parazyd.org/jaromail.git
Log | Files | Refs | Submodules | README

howto_gmail_fetchmail_and_procmail.txt (23009B)


      1 
      2 making a backup of my gmail account with fetchmail and procmail
      3 
      4 Gentle introduction to email terminology
      5 
      6    In this post I’ll be talking about procmail, fetchmail and mutt.
      7    Three programs to read and backup emails … Wait, three programs just to
      8    read emails !? None sens !
      9    Well, actually it makes perfect sens: to read an email on your computer
     10    with your favorite email client, you need to follow these steps:
     11     1. grab the email from your email provider (connect and download)
     12     2. filter/process is the email (in which mailbox do we store it –
     13        possibly the spam mailbox, or your regular inbox)
     14     3. read it
     15 
     16    For each of these steps, the following jargon is used:
     17      * when you download your email, you are using a mail transfer agent
     18        i.e. [11]MTA
     19      * when filtering/processing it, you are using a mail delivery agent
     20        i.e. [12]MDA
     21      * and finally when reading it, you are using a mail user agent
     22        i.e. [13]MUA
     23 
     24    Weird ? Not really if you know the UNIX philosophy: each program does
     25    one
     26    thing, but it does it well (Yeah, I know: sounds like a real cliche).
     27 
     28    When you use thunderbird or outlook, you are using a MTA, MDA and MUA
     29    at the
     30    same time. I will not talk about mail submission agent
     31    [14]MSA that is in charge of sending the email you wrote: this is out
     32    of scope :-).
     33 
     34    Ok, now let’s go back to the purpose of this post: backing up my gmail
     35    account.
     36 
     37 the big plan
     38 
     39    So, given the previous steps described above, I will:
     40      * use fetchmail as my MTA to connect to gmail and retrieve my emails
     41      * use procmail as my MDA to store the content in the various
     42        mailboxes
     43      * read it on mutt, yes mutt is my MUA
     44 
     45 step 1: retrieving mail with fetchmail
     46 
     47 configuring my gmail account
     48 
     49    google provides access to my email using [15]POP3 or [16]IMAP.
     50 
     51    I will retrieve my email using POP3, google provides interesting
     52    features for it. The one I am interested in is located at settings ->
     53    forward and pop/imap -> POP download.
     54    Here I select “Enable POP for all mail (even mail that’s already been
     55    downloaded)”: it will allow me to download all my emails, including the
     56    ones I already did read.
     57    WARNING: be sure to select “When messages are accessed with POP –
     58    keep gmail’s copy in inbox” otherwise, gmail will remove your
     59    downloaded email
     60    from your account – which is not my intent.
     61 
     62    I also select, in the same page, enabling IMAP, so I can read my emails
     63    from everywhere using the IMAP protocol which allows me to view my
     64    emails from
     65    anywhere while keeping them on the server i.e. I browse them, when I
     66    finish reading my mail, it’s still there on the server: be sure to
     67    check [17]IMAP wikipedia entry.
     68 
     69    I download them only for backup purpose and use POP3 for that.
     70 
     71    Do not forget to save the changes you made to your google account …
     72 
     73 dealing with gmail server security
     74 
     75    Access to my account is encrypted (a good thing) hence I need to setup
     76    some security before beeing able to download some emails.
     77    SSL as used by google, requires you to download some credentials from
     78    a certificate authority; it is used to authenticate google server i.e.
     79    making sure you really are connecting to google and not to some random
     80    (and possibly malicious) server.
     81 
     82    First, I need to retrieve the certificate of the CA used by google:
     83 # wget -O Equifax_Secure_Certificate_Authority.pem https://www.geotrust.com/reso
     84 urces/root_certificates/certificates/Equifax_Secure_Certificate_Authority.cer
     85 
     86    and convert it to something that can actually be used by our beloved
     87    ssl tools:
     88 # openssl x509 -in Equifax_Secure_Certificate_Authority.pem -fingerprint -subjec
     89 t -issuer -serial -hash -noout
     90 
     91    I now store it where they can latter be referenced and checked. Since I
     92    am always setting up workstations when moving from one workplace to
     93    another, I store that kind of information in the UNIX account that has
     94    been given to me:
     95 # mkdir ~/.certificates
     96 # mv Equifax_Secure_Certificate_Authority.pem ~/.certificates
     97 
     98    Now I make them available to the various programs I use:
     99 # c_rehash ~/.certificates
    100 
    101    On opensolaris c_rehash is not available (I don’t know why). It’s a
    102    perl script and I found a version using google code [18]here.
    103 
    104    cut and paste this code into a file named c_rehash and execute it:
    105 # cd ~
    106 # perl c_rehash .certificates
    107 Doing .certificates/
    108 Equifax_Secure_Certificate_Authority.pem => 594f1775.0
    109 
    110    This is it for the security part, SSL credentials are now ready to be
    111    used by fetchmail.
    112 
    113 configuring fetchmail for POP access
    114 
    115    my gmail account is something like:
    116      * user ‘vodoom@gmail.com’
    117      * pop3 server is ‘pop.gmail.com’
    118 
    119    my local settings are:
    120      * user on my machine is ‘ppereira’
    121      * my google certificate is located at ‘~/.certificates’ (see previous
    122        step)
    123      * mda to be used is ‘procmail’ (more on that later)
    124 
    125    The corresponding fetchmail configuration (to be stored in
    126    ~/.fetchmailrc):
    127 set daemon 600
    128 poll pop.gmail.com with proto POP3 and options no dns
    129 user 'vodoom@gmail.com' there is 'ppi' here
    130 options keep ssl sslcertck sslcertpath '~/.certificates'
    131 mda '/usr/bin/procmail -d %T'
    132 
    133    For more details about these options, see [19]fetchmail’s manual.
    134 
    135 configuring procmail for delivery
    136 
    137 spam filtering ?
    138 
    139    Note that there is no spam filtering configuration here: since this
    140    setup is only for my gmail account, I rely on gmail spam filter to take
    141    care of those.
    142    If you need a spam filtering setup, you may want to have a look at
    143    http://wiki.apache.org/spamassassin/UsedViaProcmail.
    144 
    145 managing my mailing lists
    146 
    147    I use the TO_ recipe rule of procmail: I do not use the list-id header,
    148    it is more covenient for me as explained
    149    in http://www.ii.com/internet/robots/procmail/qs/#alt2TO.
    150    Procmail recipes are matching rules associated with a mailbox (yes, I
    151    am over simplifying).
    152    For example, here is a simple recipe:
    153 :0:
    154 * ^TO_zfs-discuss@opensolaris.org
    155 osol-zfs
    156 
    157    :0: is the delivery options, in my case I want locking when accessing
    158    to the inbox (that’s the second ‘:’)
    159 
    160    * ^TO_zfs-discuss@opensolaris.org
    161    means that we want to match messages that were sent
    162    to zfs-discuss@opensolaris.org
    163    One can use regular expressions and special matching rules e.g. ^From
    164    to create a matching rule.
    165 
    166    osol-zfs tells procmail to store this email in the mailbox ‘osol-zfs’
    167 
    168    here are my recipes to match the mailing lists I am subscribed to:
    169 :0:
    170 * ^TO_zfs-discuss@opensolaris.org
    171 osol-zfs
    172 
    173 :0:
    174 * ^TO_perf-discuss@opensolaris.org
    175 osol-perf
    176 
    177 :0:
    178 * ^TO_opensolaris-code@opensolaris.org
    179 osol-code
    180 
    181 :0:
    182 * ^TO_opensolaris-announce@opensolaris.org
    183 osol-announce
    184 
    185 :0:
    186 * ^TO_indiana-discuss@opensolaris.org
    187 osol-indiana
    188 
    189 :0:
    190 * ^TO_ogb-discuss@opensolaris.org
    191 osol-board
    192 
    193 :0:
    194 * ^TO_eeepc-discuss@opensolaris.org
    195 osol-eeepc
    196 
    197 :0:
    198 * ^TO_crypto-discuss@opensolaris.org
    199 osol-crypto
    200 
    201 :0:
    202 * ^TO_xvid-devel@xvid.org
    203 xvid-devel
    204 
    205 :0:
    206 * ^TO_users@crater.dragonflybsd.org
    207 dragonfly-bsd
    208 
    209    All those recipes are stored in their own file: rc.mailing-lists.
    210    This file will be included from a ‘master’ file, the main .procmailrc
    211    file.
    212    The .procmailrc file looks like:
    213 # Directory for storing procmail configuration and log files
    214 # You can name this variable anything you like, for example
    215 # PROCMAILDIR, or don't set it (but then don't refer to it!)
    216 PROCMAIL_DIR=$HOME/procmail
    217 SHELL=/bin/sh
    218 
    219 # LOGFILE should be specified ASAP so everything below it is logged
    220 LOGFILE=$PROCMAIL_DIR/procmail.log
    221 
    222 # where are the various mailboxes stored ?
    223 # note that this is *not* the location of the system email
    224 # this is where I want my mailboxes to be stored by procmail i.e. the
    225 # destination after filtering
    226 MAILDIR=$HOME/mail
    227 
    228 # recipes/filters are included from here
    229 INCLUDERC=$PROCMAIL_DIR/rc.mailing-lists
    230 INCLUDERC=$PROCMAIL_DIR/rc.banking
    231 
    232    Now that procmail is setup, time to retrieve some emails:
    233 # fetchmail -vk
    234 File /export/home/ppi/.fetchmailrc must have no more than -rwx--x--- (0710) perm
    235 issions.
    236 
    237    oops I forgot to setup the proper permissions for the .fetchmailrc
    238    file,
    239    let’s fix that:
    240 # chmod 710 .fetchmailrc
    241 
    242    Running it again, and failing again for a very different reason, from
    243    my logfile in ~/fetchmail/fetchmail.log:
    244 fetchmail: starting fetchmail 6.3.8 daemon
    245 fetchmail: 6.3.8 querying pop.gmail.com (protocol POP3) at Thu Jan 28 00:06:43 2
    246 010: poll started
    247 fetchmail: getaddrinfo("pop.gmail.com","pop3s") error: service name not availabl
    248 e for the specified socket type
    249 fetchmail: Try adding the --service option (see also FAQ item R12).
    250 fetchmail: POP3 connection to pop.gmail.com failed: Bad file number
    251 fetchmail: 6.3.8 querying pop.gmail.com (protocol POP3) at Thu Jan 28 00:06:43 2
    252 010: poll completed
    253 fetchmail: Query status=2 (SOCKET)
    254 fetchmail: sleeping at Thu Jan 28 00:06:43 2010 for 600 seconds
    255 
    256    hum, fetchmail is looking for the port number corresponding to the
    257    ‘pop3s’ service. AFAIK, on my opensolaris box I don’t have such service
    258    configured:
    259 # grep -i pop3s /etc/services
    260 #
    261 
    262    To connect to gmail I have to manually setup use the port number
    263    corresponding to ‘pop3s’, as suggested by fetchmail in the log:
    264    'fetchmail: Try adding the --service option (see also FAQ item R12).'
    265    so here I go again:
    266    # fetchmail -vk --service 995
    267    now from my fetchmail log I can see:
    268 fetchmail: 6.3.8 querying pop.gmail.com (protocol POP3) at Fri Jan 29 00:15:07 2
    269 010: poll started
    270 fetchmail: Trying to connect to 74.125.93.111/995...connected.
    271 fetchmail: Issuer Organization: Google Inc
    272 fetchmail: Issuer CommonName: Google Internet Authority
    273 fetchmail: Server CommonName: pop.gmail.com
    274 fetchmail: pop.gmail.com key fingerprint: 92:73:17:4C:34:4B:68:F7:B2:17:71:42:0D
    275 :7F:9F:33
    276 fetchmail: POP3< +OK Gpop ready for requests from 70.31.248.56 8pf4635265qwj.1
    277 fetchmail: POP3> CAPA
    278 fetchmail: POP3< +OK Capability list follows
    279 fetchmail: POP3< USER
    280 fetchmail: POP3< RESP-CODES
    281 fetchmail: POP3< EXPIRE 0
    282 fetchmail: POP3< LOGIN-DELAY 300
    283 fetchmail: POP3< X-GOOGLE-VERHOEVEN
    284 fetchmail: POP3< UIDL
    285 fetchmail: POP3< .
    286 fetchmail: POP3> USER vodoom@gmail.com
    287 fetchmail: POP3< +OK send PASS
    288 fetchmail: POP3> PASS *
    289 fetchmail: POP3< +OK Welcome.
    290 fetchmail: POP3> STAT
    291 fetchmail: POP3< +OK 354 21544383
    292 fetchmail: POP3> LAST
    293 fetchmail: POP3< -ERR Not supported
    294 fetchmail: Not supported
    295 fetchmail: POP3> UIDL
    296 fetchmail: POP3< +OK
    297 fetchmail: POP3< 1 GmailIdfbe952ed20bfe97
    298 fetchmail: POP3< 2 GmailIdfc26b09f74e3775
    299 fetchmail: POP3< 3 GmailIdfc6f980243d2a13
    300 fetchmail: POP3< 4 GmailId1043d10888f8ed70
    301 ...
    302 fetchmail: POP3< 354 GmailId10e7b3433c301f94
    303 fetchmail: POP3< .
    304 fetchmail: 354 messages for vodoom@gmail.com at pop.gmail.com (21544383 octets).
    305 fetchmail: POP3> LIST 1
    306 fetchmail: POP3< +OK 1 1694617
    307 fetchmail: POP3> RETR 1
    308 fetchmail: POP3< +OK message follows
    309 fetchmail: reading message vodoom@gmail.com@pop.gmail.com:1 of 354 (1694617 octe
    310 ts)
    311 ...
    312 
    313    Yes ! This is working :-)
    314 
    315    So now my gmail account is backed up. From time to time I run my
    316    fetchmail script, and it downloads the new emails that are not yet
    317    backed up.
    318    If like me you have thousands of emails waiting to be download, be
    319    patient, as emails are not downloaded in a single connection: each
    320    connection will download hundreds of emails, fetchmail will have to
    321    reconnect to download the rest. This is fine, that’s why I setup the
    322    daemon mode in fetchmail :-).
    323 
    324    Ok now I have to access my emails with IMAP, but thats another post :-)
    325 
    326    enjoy and share.
    327 
    328 Share this:
    329 
    330      * [20]StumbleUpon
    331      * [21]Digg
    332      * [22]Reddit
    333      *
    334 
    335 Like this:
    336 
    337    [23]Like
    338    Be the first to like this post.
    339      __________________________________________________________________
    340 
    341 About this entry
    342 
    343    You’re currently reading “making a backup of my gmail account with
    344    fetchmail and procmail,” an entry on my core dump is your sigfault
    345 
    346    Published:
    347           9 February, 2010 / 12:40 am
    348 
    349    Category:
    350           [24]configuration, [25]email, [26]unix
    351 
    352    Tags:
    353           [27]backup, [28]email, [29]fetchmail, [30]gmail, [31]procmail
    354      __________________________________________________________________
    355 
    356 No comments yet
    357 
    358    [32]Jump to comment form | [33]comment rss [?] | [34]trackback uri
    359    [35][?]
    360 
    361 Leave a Reply [36]Cancel reply
    362 
    363    Enter your comment here...
    364 
    365    ____________________________________________________________
    366    ____________________________________________________________
    367    ____________________________________________________________
    368    ____________________________________________________________
    369 
    370    Fill in your details below or click an icon to log in:
    371      *
    372      *
    373      *
    374      *
    375 
    376    Gravatar
    377    Email (required) (Not published)
    378    ____________________
    379    Name (required)
    380    ____________________
    381    Website
    382    ____________________
    383    WordPress.com Logo
    384 
    385    Please log in to WordPress.com to post a comment to your blog.
    386 
    387    Twitter picture
    388 
    389    You are commenting using your Twitter account.
    390    ( [37]Log Out / [38]Change )
    391    Facebook photo
    392 
    393    You are commenting using your Facebook account.
    394    ( [39]Log Out / [40]Change )
    395    [41]Cancel
    396 
    397    Connecting to %s
    398 
    399    [ ] Notify me of follow-up comments via email.
    400 
    401    Post Comment
    402      __________________________________________________________________
    403 
    404 Pages
    405 
    406      * [42]About Me
    407      * [43]Disclaimer
    408      * [44]my configuration files
    409           + [45]fetchmailrc
    410           + [46]moria256.vim
    411           + [47]mutt-gmail.conf
    412           + [48]muttrc
    413           + [49]procmailrc
    414           + [50]vimrc
    415 
    416 Recently
    417 
    418      * [51]11.03 simple and dirty FIX 4.2 parser and decoder
    419      * [52]10.13 ion3 repository and patches on bitbucket
    420      * [53]08.31 gnu/stubs-32.h: No such file or directory
    421      * [54]02.09 making a backup of my gmail account with fetchmail
    422        and procmail
    423      * [55]11.18 virtualbox: setting up 1680×1050 screen resolution
    424      * [56]05.06 xvid on opensolaris
    425      * [57]04.05 migrating data from linux to opensolaris and zfs with a
    426        mirror setup
    427      * [58]03.27 const variable, const pointer and invalid const
    428        assignment in c++
    429      * [59]12.28 setting up my workstation: tweaking firefox, mutt and vim
    430      * [60]12.16 Multi-core programming and design: tips and tricks
    431 
    432 Monthly Archives
    433 
    434      * [61]November 2010 (1)
    435      * [62]October 2010 (1)
    436      * [63]August 2010 (1)
    437      * [64]February 2010 (1)
    438      * [65]November 2009 (1)
    439      * [66]May 2009 (1)
    440      * [67]April 2009 (1)
    441      * [68]March 2009 (1)
    442      * [69]December 2008 (2)
    443      * [70]October 2008 (1)
    444      * [71]September 2008 (2)
    445      * [72]July 2008 (1)
    446 
    447      * Blogroll
    448           + [73]Adam Leventhal’s Weblog
    449           + [74]Alan DuBoff’s Weblog
    450           + [75]Alexander Kolbasov’s Weblog
    451           + [76]Artima – C++
    452           + [77]C++ Soup!
    453           + [78]Code Craft
    454           + [79]darren_moffat@blog$ cat /dev/mem | grep /dev/urandom
    455           + [80]Eric.Weblog()
    456           + [81]Jeff Bonwick’s Blog
    457           + [82]Jon Haslam’s Weblog
    458           + [83]Kate Gregory’s Blog
    459           + [84]Liane Praza’s Weblog
    460           + [85]Max Bruning’s weblog
    461           + [86]My SysAd Blog — UNIX
    462           + [87]Nothing but Unix
    463           + [88]Predictable
    464           + [89]Rich Teer’s Blog
    465           + [90]Simon Phipps, SunMink
    466           + [91]Sutter’s Mill
    467           + [92]The view from the Engine Room
    468           + [93]The View from the Moon
    469           + [94]Ulrich Drepper
    470      __________________________________________________________________
    471 
    472    [95]Blog at WordPress.com. | Theme: [96]Hemingway by [97]warpspire.
    473 
    474    [98]Entries RSS [99]Comments RSS
    475 
    476    [100]Follow
    477 
    478 Follow my core dump is your sigfault
    479 
    480    Get every new post delivered to your Inbox.
    481 
    482    Enter email address_
    483 
    484    Sign me up!
    485    [101]Powered by WordPress.com
    486 
    487 References
    488 
    489    Visible links
    490    1. http://vodoom.wordpress.com/feed/
    491    2. http://vodoom.wordpress.com/comments/feed/
    492    3. http://vodoom.wordpress.com/2010/02/09/making-a-backup-of-my-gmail-account-with-fetchmail-and-procmail/feed/
    493    4. http://vodoom.wordpress.com/2009/11/18/virtualbox-setting-up-1680x1050-screen-resolution/
    494    5. http://vodoom.wordpress.com/2010/08/31/gnustubs-32-h-no-such-file-or-directory/
    495    6. http://public-api.wordpress.com/oembed/1.0/?format=json&url=http%3A%2F%2Fvodoom.wordpress.com%2F2010%2F02%2F09%2Fmaking-a-backup-of-my-gmail-account-with-fetchmail-and-procmail%2F&for=wpcom-auto-discovery
    496    7. http://public-api.wordpress.com/oembed/1.0/?format=xml&url=http%3A%2F%2Fvodoom.wordpress.com%2F2010%2F02%2F09%2Fmaking-a-backup-of-my-gmail-account-with-fetchmail-and-procmail%2F&for=wpcom-auto-discovery
    497    8. http://vodoom.wordpress.com/osd.xml
    498    9. http://wordpress.com/opensearch.xml
    499   10. http://vodoom.wordpress.com/
    500   11. http://en.wikipedia.org/wiki/Mail_transfer_agent
    501   12. http://en.wikipedia.org/wiki/Mail_delivery_agent
    502   13. http://en.wikipedia.org/w/index.php?title=Mail_user_agent
    503   14. http://en.wikipedia.org/wiki/Mail_submission_agent
    504   15. http://en.wikipedia.org/wiki/Post_Office_Protocol
    505   16. http://en.wikipedia.org/wiki/Internet_Message_Access_Protocol
    506   17. http://en.wikipedia.org/wiki/Internet_Message_Access_Protocol
    507   18. http://www.google.com/codesearch/p?hl=en#2CnO_mGaYOA/source/openssl-0.9.8.tar.gz|RUDwtLKIcqo/openssl-0.9.8/tools/c_rehash&q=c_rehash
    508   19. http://fetchmail.info/fetchmail-man.html
    509   20. http://vodoom.wordpress.com/2010/02/09/making-a-backup-of-my-gmail-account-with-fetchmail-and-procmail/?share=stumbleupon
    510   21. http://vodoom.wordpress.com/2010/02/09/making-a-backup-of-my-gmail-account-with-fetchmail-and-procmail/?share=digg
    511   22. http://vodoom.wordpress.com/2010/02/09/making-a-backup-of-my-gmail-account-with-fetchmail-and-procmail/?share=reddit
    512   23. http://vodoom.wordpress.com/2010/02/09/making-a-backup-of-my-gmail-account-with-fetchmail-and-procmail/?like=1&_wpnonce=e70618c7f0
    513   24. http://vodoom.wordpress.com/category/configuration/
    514   25. http://vodoom.wordpress.com/category/email/
    515   26. http://vodoom.wordpress.com/category/unix/
    516   27. http://vodoom.wordpress.com/tag/backup/
    517   28. http://vodoom.wordpress.com/tag/email/
    518   29. http://vodoom.wordpress.com/tag/fetchmail/
    519   30. http://vodoom.wordpress.com/tag/gmail/
    520   31. http://vodoom.wordpress.com/tag/procmail/
    521   32. http://vodoom.wordpress.com/2010/02/09/making-a-backup-of-my-gmail-account-with-fetchmail-and-procmail/#comment-form
    522   33. http://vodoom.wordpress.com/2010/02/09/making-a-backup-of-my-gmail-account-with-fetchmail-and-procmail/feed/
    523   34. http://vodoom.wordpress.com/2010/02/09/making-a-backup-of-my-gmail-account-with-fetchmail-and-procmail/trackback/
    524   35. http://vodoom.wordpress.com/2010/02/09/making-a-backup-of-my-gmail-account-with-fetchmail-and-procmail/#what-is-trackback
    525   36. http://vodoom.wordpress.com/2010/02/09/making-a-backup-of-my-gmail-account-with-fetchmail-and-procmail/#respond
    526   37. javascript:HighlanderComments.doExternalLogout( 'twitter' );
    527   38. http://vodoom.wordpress.com/2010/02/09/making-a-backup-of-my-gmail-account-with-fetchmail-and-procmail/
    528   39. javascript:HighlanderComments.doExternalLogout( 'facebook' );
    529   40. http://vodoom.wordpress.com/2010/02/09/making-a-backup-of-my-gmail-account-with-fetchmail-and-procmail/
    530   41. javascript:HighlanderComments.cancelExternalWindow();
    531   42. http://vodoom.wordpress.com/about-paulo/
    532   43. http://vodoom.wordpress.com/about/
    533   44. http://vodoom.wordpress.com/configuration-files/
    534   45. http://vodoom.wordpress.com/configuration-files/fetchmailrc/
    535   46. http://vodoom.wordpress.com/configuration-files/moria256vim/
    536   47. http://vodoom.wordpress.com/configuration-files/mutt-gmailconf/
    537   48. http://vodoom.wordpress.com/configuration-files/muttrc/
    538   49. http://vodoom.wordpress.com/configuration-files/procmailrc/
    539   50. http://vodoom.wordpress.com/configuration-files/vimrc/
    540   51. http://vodoom.wordpress.com/2010/11/03/simple-and-dirty-fix-4-2-decoder/
    541   52. http://vodoom.wordpress.com/2010/10/13/ion3-repository-on-httpbitbucket-orgppianionoverview/
    542   53. http://vodoom.wordpress.com/2010/08/31/gnustubs-32-h-no-such-file-or-directory/
    543   54. http://vodoom.wordpress.com/2010/02/09/making-a-backup-of-my-gmail-account-with-fetchmail-and-procmail/
    544   55. http://vodoom.wordpress.com/2009/11/18/virtualbox-setting-up-1680x1050-screen-resolution/
    545   56. http://vodoom.wordpress.com/2009/05/06/xvid-on-opensolaris/
    546   57. http://vodoom.wordpress.com/2009/04/05/migrating-data-from-linux-to-opensolaris-and-zfs-with-a-mirror-setup/
    547   58. http://vodoom.wordpress.com/2009/03/27/const-variable-cont-pointers-and-invalid-const-assignment-in-c/
    548   59. http://vodoom.wordpress.com/2008/12/28/setting-up-my-workstation-tweaking-firefox-mutt-and-vim/
    549   60. http://vodoom.wordpress.com/2008/12/16/multi-core-programming-and-design-tips-and-tricks/
    550   61. http://vodoom.wordpress.com/2010/11/
    551   62. http://vodoom.wordpress.com/2010/10/
    552   63. http://vodoom.wordpress.com/2010/08/
    553   64. http://vodoom.wordpress.com/2010/02/
    554   65. http://vodoom.wordpress.com/2009/11/
    555   66. http://vodoom.wordpress.com/2009/05/
    556   67. http://vodoom.wordpress.com/2009/04/
    557   68. http://vodoom.wordpress.com/2009/03/
    558   69. http://vodoom.wordpress.com/2008/12/
    559   70. http://vodoom.wordpress.com/2008/10/
    560   71. http://vodoom.wordpress.com/2008/09/
    561   72. http://vodoom.wordpress.com/2008/07/
    562   73. http://blogs.sun.com/ahl/
    563   74. http://blogs.sun.com/aland/
    564   75. http://blogs.sun.com/akolb/
    565   76. http://www.artima.com/
    566   77. http://blog.cplusplus-soup.com/
    567   78. http://codecraft.info/
    568   79. http://blogs.sun.com/darren/
    569   80. http://software.ericsink.com/
    570   81. http://blogs.sun.com/bonwick/
    571   82. http://blogs.sun.com/jonh/
    572   83. http://www.gregcons.com/KateBlog/
    573   84. http://blogs.sun.com/lianep/
    574   85. http://mbruning.blogspot.com/
    575   86. http://www.mysysad.com/
    576   87. http://unix-news.blogspot.com/
    577   88. http://blogs.sun.com/sch/
    578   89. http://richteer.blogspot.com/
    579   90. http://blogs.sun.com/webmink/
    580   91. http://herbsutter.wordpress.com/
    581   92. http://blogs.sun.com/barts/
    582   93. http://blogs.sun.com/dp/
    583   94. http://udrepper.livejournal.com/
    584   95. http://wordpress.com/?ref=footer
    585   96. http://theme.wordpress.com/themes/hemingway/
    586   97. http://warpspire.com/hemingway
    587   98. http://vodoom.wordpress.com/feed/
    588   99. http://vodoom.wordpress.com/comments/feed/
    589  100. javascript:void(0)
    590  101. http://wordpress.com/signup/?ref=lof
    591 
    592    Hidden links:
    593  103. http://vodoom.wordpress.com/2010/02/09/making-a-backup-of-my-gmail-account-with-fetchmail-and-procmail/#comment-form-guest
    594  104. http://vodoom.wordpress.com/2010/02/09/making-a-backup-of-my-gmail-account-with-fetchmail-and-procmail/#comment-form-wordpress
    595  105. http://vodoom.wordpress.com/2010/02/09/making-a-backup-of-my-gmail-account-with-fetchmail-and-procmail/#comment-form-load-service:Twitter
    596  106. http://vodoom.wordpress.com/2010/02/09/making-a-backup-of-my-gmail-account-with-fetchmail-and-procmail/#comment-form-load-service:Facebook