{"id":473,"date":"2010-02-10T13:31:34","date_gmt":"2010-02-10T13:31:34","guid":{"rendered":"http:\/\/faq.graven-ict.nl\/wordpress\/?p=473"},"modified":"2018-08-14T07:32:49","modified_gmt":"2018-08-14T07:32:49","slug":"gmail-pop3-met-fetchmail","status":"publish","type":"post","link":"https:\/\/wiki.graven-ict.nl\/wordpress\/gmail-pop3-met-fetchmail\/","title":{"rendered":"Gmail pop3 met fetchmail"},"content":{"rendered":"<p>k heb meerdere pop3 account en gebruik fetchmail om die mail op te halen en in mijn eigen mail server te brengen. je kan tegenwoordig bij veel mail accounts ook je mail door sturen maar ik vind dit wel een handige methode. alles word van af 1 centraal punt geregeld. Om de mail bij van je gmail account op te halen moet je allereerst pop3 binnen google aanzetten, kijk bij instellingen. Google gebruikt standaard ssl voor pop3.<\/p>\n<h3><span id=\"Zoals_het_niet_moet\" class=\"mw-headline\">Zoals het niet moet<\/span><\/h3>\n<p>Om snel je mail werkend te krijgen kan je eenvoudig ssl aan zetten binnen je .fetchmailrc file<\/p><div id=\"grave-1713154694\" class=\"grave-content grave-entity-placement\"><script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js?client=ca-pub-1970734611769428\" crossorigin=\"anonymous\"><\/script><ins class=\"adsbygoogle\" style=\"display:inline-block;width:728px;height:90px;\" \ndata-ad-client=\"ca-pub-1970734611769428\" \ndata-ad-slot=\"1820224830\"><\/ins> \n<script> \n(adsbygoogle = window.adsbygoogle || []).push({}); \n<\/script>\n<\/div>\n<pre>poll pop.gmail.com with proto POP3\r\n       user \"{username@gmail.com}\", with password \"{PASSWORD}\", is {localmailbox} here \r\n  \t   options ssl\r\n<\/pre>\n<p>probleem nu is dat je met het ophalen van je mail een foutmelding krijgt. de mail word overgens wel opgehaald<\/p>\n<pre>fetchmail: Server certificate verification error: unable to get local issuer certificate\r\nfetchmail: Server certificate verification error: certificate not trusted\r\nfetchmail: No mail for {username@gmail.com} at pop.gmail.com\r\n<\/pre>\n<h3><span id=\"Haal_het_certificaat_op\" class=\"mw-headline\">Haal het certificaat op<\/span><\/h3>\n<p>wil je van deze melding af ga je als volgt te werk. in bv je home directory maak je een .cert directory.<\/p>\n<pre>$ mkdir ~\/.certs \r\n$ cd ~\/.certs\r\n<\/pre>\n<p>Gmail pop3 over SSL server presenteert een server certificaat bij iedere SSL connectie. je wilt deze controleren op echtheid. het certificaat is signed door certificate authority (CA), Equifax Secure (tegenwoordig GeoTrust) we gaan deze ophalen middels wget. <a class=\"external free\" href=\"https:\/\/www.geotrust.com\/resources\/root_certificates\/certificates\/Equifax_Secure_Certificate_Authority.cer\" rel=\"nofollow\">https:\/\/www.geotrust.com\/resources\/root_certificates\/certificates\/Equifax_Secure_Certificate_Authority.cer<\/a><\/p>\n<pre> wget --no-check-certificate -O Equifax.pem \\\r\n https:\/\/www.geotrust.com\/resources\/root_certificates\/certificates\/Equifax_Secure_Certificate_Authority.cer\r\n<\/pre>\n<p>als we het certificaat hebben moeten we het alleen nog rehashen zodat fetchmail er mee kan werken, dit doe je met het perl script c_rehash. Dit script word geleverd met de OpenSSL toolkit. wat dit script doet is het cre\u00ebren van een symbolic link(s) naar de certificaat file (met een \u201c.pem\u201d extensie).<\/p>\n<pre>$ cd ~\/.certs\r\n$ c_rehash .\r\nDoing .\r\nEquifa.pem =&gt; 594f1775.0\r\n$ file 594f1775.0\r\n594f1775.0: symbolic link to `Equifa.pem'\r\n<\/pre>\n<h3><span id=\"Test_het_certificaat\" class=\"mw-headline\">Test het certificaat<\/span><\/h3>\n<p>Om te controleren of alles goed werkt doe je het volgende. op de plek van de &#8230; &#8230; en &#8212; staat uiteraard veel meer informatie<\/p>\n<pre>$ openssl s_client -connect pop.gmail.com:995 -CApath ~\/.certs\/\r\n... ...\r\n---\r\n+OK Gpop ready for requests from ....\r\n<\/pre>\n<p>nu heeft fetchmail de mogelijkheid om het certificaat te controleren. wat je nog extra kan doen is het certificaat van google ophalen en hier een fingerprint (md5) van nemen. dit is een extra controle mogelijkheid. houd er wel rekening mee als je de fingerprint opneemt en google krijgt een andere certificaat (oude verloopt) je de fingerprint moet aanpassen in de fetchmail configuratie.<\/p>\n<p>haal het certificaat van gmail op.<\/p>\n<pre>edwin@ds9:~\/.certs$ openssl s_client -connect pop.gmail.com:995 -showcerts \r\nCONNECTED(00000003)\r\ndepth=1 \/C=US\/O=Google Inc\/CN=Google Internet Authority\r\nverify error:num=20:unable to get local issuer certificate\r\nverify return:0\r\n---\r\nCertificate chain\r\n 0 s:\/C=US\/ST=California\/L=Mountain View\/O=Google Inc\/CN=pop.gmail.com\r\n   i:\/C=US\/O=Google Inc\/CN=Google Internet Authority\r\n-----BEGIN CERTIFICATE-----\r\nMIIDWjCCAsOgAwIBAgIKYgy3qQADAAAJ5zANBgkqhkiG9w0BAQUFADBGMQswCQYD\r\nVQQGEwJVUzETMBEGA1UEChMKR29vZ2xlIEluYzEiMCAGA1UEAxMZR29vZ2xlIElu\r\ndGVybmV0IEF1dGhvcml0eTAeFw0wOTA3MTcxNzE2NTVaFw0xMDA3MTcxNzI2NTVa\r\nMGcxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1N\r\nb3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMRYwFAYDVQQDEw1wb3Au\r\nZ21haWwuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDTHqjJfnRXdpmZ\r\n4iP\/WNCpvzX4N97bEZ3rvS4aDYey\/DJetKZqp9DK1Ie4\/C5j8M1aakwiTNA\/eHS\/\r\nwNWVgQx8+HxproYKUeeYj3shYKEkHGfrRYBcyCxc7Gd6NSGaaYru3Z7nJ+STIPUJ\r\nE1N35JAwcjjdITVI2O4LckAL4b7GkwIDAQABo4IBLDCCASgwHQYDVR0OBBYEFIln\r\n0T5I8Mw6cqhtUS4pyMGYRxOTMB8GA1UdIwQYMBaAFL\/AMOv1QxE+Z7qekfv8atrj\r\naxIkMFsGA1UdHwRUMFIwUKBOoEyGSmh0dHA6Ly93d3cuZ3N0YXRpYy5jb20vR29v\r\nZ2xlSW50ZXJuZXRBdXRob3JpdHkvR29vZ2xlSW50ZXJuZXRBdXRob3JpdHkuY3Js\r\nMGYGCCsGAQUFBwEBBFowWDBWBggrBgEFBQcwAoZKaHR0cDovL3d3dy5nc3RhdGlj\r\nLmNvbS9Hb29nbGVJbnRlcm5ldEF1dGhvcml0eS9Hb29nbGVJbnRlcm5ldEF1dGhv\r\ncml0eS5jcnQwIQYJKwYBBAGCNxQCBBQeEgBXAGUAYgBTAGUAcgB2AGUAcjANBgkq\r\nhkiG9w0BAQUFAAOBgQCEGIebkDpktdjtzMiTTmEiN7e4vc73hEI4K0jYKyY0Wn5N\r\ndc44AXTfIWOzsikwb886PCUSevGs9rcw2\/kaHdPaBSuGrzSCf8ODQqTC3odry3lo\r\nPtZGr6nf\/81F5UW71+bE1iWOQlJ5\/olWOr2SlqYla1iOmosEctD\/GyoFnDh+BA==\r\n-----END CERTIFICATE-----\r\n... ....\r\n---\r\n+OK Gpop ready for requests from 62.194.255.209 10pf6519060eyz.0\r\n<\/pre>\n<p>er staat meer in de output maar dit is het belangrijkste. kopieer het gedeelt inclusief &#8212; BEGIN en &#8212; END naar bv gmail.pem en schrijf dit ook in je cert dir. als je dat hebt gedaan kan je de fingerprint van het certificaat opvragen, let op standaard gebeurt dit tegenwoording in SHA1 maar fetchmail gebruikt nog md5<\/p>\n<pre>$ cd ~\/.certs\r\n$ openssl x509 -noout -in gmail.pem -enddate -fingerprint -md5 -dates\r\nMD5 Fingerprint=92:73:17:4C:34:4B:68:F7:B2:17:71:42:0D:7F:9F:33\r\nnotBefore=Jul 17 17:16:55 2009 GMT\r\nnotAfter=Jul 17 17:26:55 2010 GMT\r\n<\/pre>\n<p>de fingerprint gebruik je in de fetchmailrc. als het certificaat verloopt krijg je van google een andere, je moet dan wel de fingerprint aanpassen.<\/p>\n<h3><span id=\".fetchmailrc\" class=\"mw-headline\">.fetchmailrc<\/span><\/h3>\n<p>de .fetchmailrc komt er dan als volgt uit te zien.<\/p>\n<pre>poll pop.gmail.com with proto POP3\r\n       user \"{USERNAME@gmail.com}\", with password \"{PASSWORD}\", is {localmailbox} here \r\n  \t   options ssl sslfingerprint '92:73:17:4C:34:4B:68:F7:B2:17:71:42:0D:7F:9F:33' \r\n          sslcertck sslcertpath \/home\/{USER}\/.certs\r\n<\/pre>\n<p>om alles nog 1 keer helemaal te testen. kan je fetchmail in verbose mode draaien. alleen voor de gmail account. fetchmail -d0 -v pop.gmail.com<\/p>\n<pre>$ fetchmail -d0 -v pop.gmail.com\r\nfetchmail: 6.3.8 querying pop.gmail.com (protocol POP3) at Thu 08 Oct 2009 09:40:41 PM CEST: poll started\r\nTrying to connect to 74.125.79.111\/995...connected.\r\nfetchmail: Issuer Organization: Google Inc\r\nfetchmail: Issuer CommonName: Google Internet Authority\r\nfetchmail: Server CommonName: pop.gmail.com\r\nfetchmail: pop.gmail.com key fingerprint: 92:73:17:4C:34:4B:68:F7:B2:17:71:42:0D:7F:9F:33\r\nfetchmail: pop.gmail.com fingerprints match.\r\nfetchmail: POP3&lt; +OK Gpop ready for requests from 62.194.xxx.xxx 24pf6525eyx.27\r\nfetchmail: POP3&gt; CAPA\r\nfetchmail: POP3&lt; +OK Capability list follows\r\nfetchmail: POP3&lt; USER\r\nfetchmail: POP3&lt; RESP-CODES\r\nfetchmail: POP3&lt; EXPIRE 0\r\nfetchmail: POP3&lt; LOGIN-DELAY 300\r\nfetchmail: POP3&lt; X-GOOGLE-VERHOEVEN\r\nfetchmail: POP3&lt; UIDL\r\nfetchmail: POP3&lt; .\r\nfetchmail: POP3&gt; USER {USERNAME}@gmail.com\r\nfetchmail: POP3&lt; +OK send PASS\r\nfetchmail: POP3&gt; PASS *\r\nfetchmail: POP3&lt; +OK Welcome.\r\nfetchmail: POP3&gt; STAT\r\nfetchmail: POP3&lt; +OK 0 0\r\nfetchmail: No mail for {USERNAME}@gmail.com at pop.gmail.com\r\nfetchmail: POP3&gt; QUIT\r\nfetchmail: POP3&lt; +OK Farewell.\r\nfetchmail: 6.3.8 querying pop.gmail.com (protocol POP3) at Thu 08 Oct 2009 09:40:42 PM CEST: poll completed\r\nfetchmail: normal termination, status 1\r\n<\/pre>\n<p>alles werkt nu naar behoren, als je fetchmail in deamon mode draait houd dan wel rekening mee dat gmail niet vaker dan 1 in de 5 min gepolled wil worden. <b>fetchmail: POP3&lt; LOGIN-DELAY 300<\/b> ik zelf heb hem draaien op 600 sec (10 min).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>k heb meerdere pop3 account en gebruik fetchmail om die mail op te halen en in mijn eigen mail server te brengen. je kan tegenwoordig bij veel mail accounts ook je mail door sturen maar ik vind dit wel een handige methode. alles word van af 1 centraal punt geregeld. Om de mail bij van ..<\/p>\n<div class=\"clear-fix\"><\/div>\n<p><a href=\"https:\/\/wiki.graven-ict.nl\/wordpress\/gmail-pop3-met-fetchmail\/\" title=\"Meer lezen...\">Lees meer<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[45],"tags":[],"class_list":["post-473","post","type-post","status-publish","format-standard","hentry","category-fetchmail"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wiki.graven-ict.nl\/wordpress\/wp-json\/wp\/v2\/posts\/473","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wiki.graven-ict.nl\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wiki.graven-ict.nl\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wiki.graven-ict.nl\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wiki.graven-ict.nl\/wordpress\/wp-json\/wp\/v2\/comments?post=473"}],"version-history":[{"count":1,"href":"https:\/\/wiki.graven-ict.nl\/wordpress\/wp-json\/wp\/v2\/posts\/473\/revisions"}],"predecessor-version":[{"id":474,"href":"https:\/\/wiki.graven-ict.nl\/wordpress\/wp-json\/wp\/v2\/posts\/473\/revisions\/474"}],"wp:attachment":[{"href":"https:\/\/wiki.graven-ict.nl\/wordpress\/wp-json\/wp\/v2\/media?parent=473"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wiki.graven-ict.nl\/wordpress\/wp-json\/wp\/v2\/categories?post=473"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wiki.graven-ict.nl\/wordpress\/wp-json\/wp\/v2\/tags?post=473"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}