Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gm_save_attachments cant get files with colons in the name #122

Open
VincentGuyader opened this issue Sep 29, 2019 · 2 comments · May be fixed by #123
Open

gm_save_attachments cant get files with colons in the name #122

VincentGuyader opened this issue Sep 29, 2019 · 2 comments · May be fixed by #123
Labels
bug an unexpected problem or unintended behavior

Comments

@VincentGuyader
Copy link

VincentGuyader commented Sep 29, 2019

This kind of attachments is ok

Subject: Nouvelle facture fournisseur / New supplier invoice
Attachments: 'OCR_e8cd3fa7-c7ed-4132-8b05-1e9d23d50777_data.pdf'

but this is not ok :

Subject: Nouvelle facture fournisseur / New supplier invoice
Attachments: 'OUI.sncf_2019-09-16_00:00:00_40964.pdf'

with :

Error in file(con, "wb") : cannot open the connection
In addition: Warning message:
In file(con, "wb") :
cannot open file './OUI.sncf_2019-09-16_00:00:00_40964.pdf': Invalid argument

Full reprex :

ok <- structure(list(id = "16d7bf8f0aa016df", threadId = "16d7bf8f0aa016df", 
                     labelIds = list("UNREAD", "CATEGORY_UPDATES", "INBOX"), snippet = "Un nouveau document a été téléchargé sur Azopio. A new document has been uploaded on Azopio.", 
                     historyId = "25262", internalDate = "1569742969000", payload = list(
                       partId = "", mimeType = "multipart/mixed", filename = "", 
                       headers = list(list(name = "Delivered-To", value = "pop3thinkr@gmail.com"), 
                                      list(name = "Received", value = "by 2002:ac8:1341:0:0:0:0:0 with SMTP id f1csp5671539qtj;        Sun, 29 Sep 2019 00:42:55 -0700 (PDT)"), 
                                      list(name = "X-Google-Smtp-Source", value = "APXvYqzdrT8tGVLy60ttJYXta/c8G6rjNE8OZtiWGqSf6C6CJ2gzO3YrIxO3PzpeEtcMr+Hcdm/H"), 
                                      list(name = "X-Received", value = "by 2002:a1c:7ed7:: with SMTP id z206mr14004026wmc.124.1569742975076;        Sun, 29 Sep 2019 00:42:55 -0700 (PDT)"), 
                                      list(name = "ARC-Seal", value = "i=1; a=rsa-sha256; t=1569742975; cv=none;        d=google.com; s=arc-20160816;        b=uutKPCJ5OyC3A+6GKpcf4+wHtvIrESlF4HDWJdqY/STK+piWd1DaKcPYejjD+Cj4N1         T1mR4f6mJ83iu3ubRHL0r3cqdYlUktLKNPBjpHQZDFMFrNr+0Ua8NVdIN6D11WtQFrn/         B6rbpMpLgk+HAHn/7HPkgh/N9qMgy2VGPmhS8Xvkha8Ep3JHXcEUTLErTPTHfdV3jbVO         oQIxpfc0U+BJb03lC6Q3f29YiLcH1lH3s/bGdMzzRGYYkqhxcWCnFV4Z7/1MH6d2bKGV         M8SEqWh9W1U6zX9G2117vIkBwHO84W4CSLRoRv9WWcDVvlZ8Bz3S4Vb7SJbN5qgPADR0         HrxQ=="), 
                                      list(name = "ARC-Message-Signature", value = "i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816;        h=from:feedback-id:mime-version:origin-messageid:message-id:subject         :date:to:dkim-signature;        bh=GUnf18CjRrmZBVPu75G8Yw+BNW31s0wRfNGnDysIPZE=;        b=1C9LrEuEROeX7sjfwbvidVxPDqlJ8pCowH/l5p9r9o7B5ZLEra722+oadWfeRQ9dPu         3fDIqktYpY4N+fNSTxChsoFhg5z4ymAi1TOsAOgFNFjnyI4VJhKDHFFsnD2h6YWrbV+z         Zdr4qxmGB+I0F7obnMzro76j+R23SQmBHBB9IOC16cL6tGYu1g5AMq1qyxhFZRYiyHs8         7FHO1ztvcrv5O6IOTtGb5/4UvKsJ7OZP8HaUwCdTWF3pZOkMbvO5f8RTYNoCMPcxh+7Q         3/Ki+MogN5YyGARazAUhUFddeJbHJc8cO6Sc8yEPRktIoWf8fJ5LfaBA96nsWTuzGlmI         GCeg=="), 
                                      list(name = "ARC-Authentication-Results", value = "i=1; mx.google.com;       dkim=pass header.i=@app.azopio.com header.s=mail header.b=X1XvM4xH;       spf=softfail (google.com: domain of transitioning bounces-55311814-XXX=NDD.fr@aa.d.sender-sib.com does not designate 178.33.226.186 as permitted sender) smtp.mailfrom=\"bounces-55311814-XXX=NDD.fr@aa.d.sender-sib.com\";       dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=app.azopio.com"), 
                                      list(name = "Return-Path", value = "<bounces-55311814-XXX=NDD.fr@aa.d.sender-sib.com>"), 
                                      list(name = "Received", value = "from mail.NDD.fr (maila.NDD.fr. [178.33.226.186])        by mx.google.com with ESMTPS id a18si6440846wrf.256.2019.09.29.00.42.54        (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256);        Sun, 29 Sep 2019 00:42:55 -0700 (PDT)"), 
                                      list(name = "Received-SPF", value = "softfail (google.com: domain of transitioning bounces-55311814-XXX=NDD.fr@aa.d.sender-sib.com does not designate 178.33.226.186 as permitted sender) client-ip=178.33.226.186;"), 
                                      list(name = "Authentication-Results", value = "mx.google.com;       dkim=pass header.i=@app.azopio.com header.s=mail header.b=X1XvM4xH;       spf=softfail (google.com: domain of transitioning bounces-55311814-XXX=NDD.fr@aa.d.sender-sib.com does not designate 178.33.226.186 as permitted sender) smtp.mailfrom=\"bounces-55311814-XXX=NDD.fr@aa.d.sender-sib.com\";       dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=app.azopio.com"), 
                                      list(name = "Received-SPF", value = "Pass (mailfrom) identity=mailfrom; client-ip=185.41.28.128; helo=aa.d.sender-sib.com; envelope-from=bounces-55311814-XXX=NDD.fr@aa.d.sender-sib.com; receiver=<UNKNOWN>"), 
                                      list(name = "Authentication-Results", value = "mail.NDD.fr; dmarc=pass (p=none dis=none) header.from=app.azopio.com"), 
                                      list(name = "Authentication-Results", value = "mail.NDD.fr; dkim=pass (1024-bit key; unprotected) header.d=app.azopio.com header.i=@app.azopio.com header.b=\"X1XvM4xH\"; dkim-atps=neutral"), 
                                      list(name = "Received", value = "from aa.d.sender-sib.com (aa.d.sender-sib.com [185.41.28.128]) by mail.NDD.fr (Postfix) with ESMTPS id EEE7328C4398 for <XXX@NDD.fr>; Sun, 29 Sep 2019 07:42:49 +0000 (UTC)"), 
                                      list(name = "DKIM-Signature", value = "v=1; a=rsa-sha256; c=relaxed/relaxed; d=app.azopio.com; q=dns/txt; s=mail; bh=GUnf18CjRrmZBVPu75G8Yw+BNW31s0wRfNGnDysIPZE=; h=from:subject:date:mime-version:content-type;        b=X1XvM4xHNM2K9GJViXgw5k/xzeEcPW33b94dqj876X713z6wvfadPCwD2PPU4vJMEQZ+qa1xs1sH        KAgF3Zts9iFmKZHjG1reVWBaZxiVN03ZoXlssxfbTbXnMUJJvgf68qHjEUQHc9/H+/alG6nSScMf        OoIdCbUSVudY3VtFI9E="), 
                                      list(name = "X-Mailin-EID", value = "NTUzMTE4MTR%2BbGVzanVzdGlmc0B0aGlua3IuZnJ%2BPDIwMTkwOTI5MDk0Mi45MDIzMjY1MTI2MkBzbXRwLXJlbGF5Lm1haWxpbi5mcj5%2BYWEuZC5zZW5kZXItc2liLmNvbQ%3D%3D"), 
                                      list(name = "To", value = "XXX@NDD.fr"), 
                                      list(name = "Date", value = "Sun, 29 Sep 2019 09:42:49 +0200"), 
                                      list(name = "Subject", value = "Nouvelle facture fournisseur / New supplier invoice"), 
                                      list(name = "Message-Id", value = "<68f8b60a-0848-4358-a989-fd1227fb99d1@smtp-relay.sendinblue.com>"), 
                                      list(name = "Origin-messageId", value = "<201909290942.90232651262@smtp-relay.mailin.fr>"), 
                                      list(name = "Content-Type", value = "multipart/mixed; boundary=\"===============8607956150063306052==\""), 
                                      list(name = "MIME-Version", value = "1.0"), list(
                                        name = "X-sib-id", value = "fshvzKKDQ35ORfrQ9UA133Vg3qi3AE4TeU6pLnU1oVcGcFrq4NWsnkfrFxkGo0ZSxPVFaz9vpKSV4leMtDCWGqbNRpLzK63iAwNCOP2-R0o_P8w04ocOnvDUc_I8Gx5F0DO90_cfQsCmkmVySge6aO6iJm4YkNtwkYb5v-6sYDZdHg"), 
                                      list(name = "Feedback-ID", value = "185.41.28.128:1663519_-1:1663519:Sendinblue"), 
                                      list(name = "From", value = "Azopio <noreply@app.azopio.com>")), 
                       body = list(size = 0L), parts = list(list(partId = "0", 
                                                                 mimeType = "text/html", filename = "", headers = list(
                                                                   list(name = "Content-Type", value = "text/html; charset=\"utf-8\""), 
                                                                   list(name = "MIME-Version", value = "1.0"), list(
                                                                     name = "Content-Transfer-Encoding", value = "base64")), 
                                                                 body = list(size = 331L, data = "VW4gbm91dmVhdSBkb2N1bWVudCBhIMOpdMOpIHTDqWzDqWNoYXJnw6kgc3VyIEF6b3Bpby48YnI-PGJyPkEgbmV3IGRvY3VtZW50IGhhcyBiZWVuIHVwbG9hZGVkIG9uIEF6b3Bpby48aW1nIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHNyYz0iaHR0cDovL2JnZ2RmYmouci5iaC5kLnNlbmRpYnQzLmNvbS90ci9vcC9memRlWFdVcVV1Qy1YQXNOVFExMGxBeGtDeFJkYlZoT1N2M0k4SmE1MDNQRmYzQ2VYYjRwa1RDWURTWjcwNDZ6SWhOYXY5SEU2NzNHTkdpb3FfOHkyd1pwXy1kTW95ZkR6QnFMU2VQNkdieTlOUUpDMmUtMk5Rd3JtTXBRTV9HRkR4MC1OSUdoUkFnR0lBIiBhbHQ9IiIgLz4NCg==")), 
                                                            list(partId = "1", mimeType = "application/octet-stream", 
                                                                 filename = "OCR_e8cd3fa7-c7ed-4132-8b05-1e9d23d50777_data.pdf", 
                                                                 headers = list(list(name = "Content-Type", value = "application/octet-stream"), 
                                                                                list(name = "MIME-Version", value = "1.0"), 
                                                                                list(name = "Content-Transfer-Encoding", value = "base64"), 
                                                                                list(name = "Content-Disposition", value = "attachment; filename=\"OCR_e8cd3fa7-c7ed-4132-8b05-1e9d23d50777_data.pdf\"")), 
                                                                 body = list(attachmentId = "ANGjdJ8XrvFcKXnbMQlYswly4uWJTOkx4v5Cg6MshY0kZa1hLkQigig2_qZoPMyJmnGp7ieCp3_1jTmMaqTVJlnH4YgnO1DfLl68sRk3FrAcwMf2CZzQHryvncUJK1gIvee5PPNjPeTsO0-aG37WzE_VgrZOro4IH6svYwpWMtUto2qNGyQWz4wRxg2oyZ0a4v30rnE_va7xEhcUB8Q4JLkkU3x2QF--KKB-X2uhRhVaiP3Op2jnmKkTOScsID3593o853aor6Mk_u7HBcz9eTuV3p8AUIlGunoSE1p-n6LDFQx1ouHr9rp5QmeMdHp5motZ5fUmdmtxY2zF4CT9rf6ZhKoAY-uw-Xew3anret_D_lrBAZVYmN8VbwpKFxQ", 
                                                                             size = 15343L)))), sizeEstimate = 27275L), class = "gmail_message")

not_ok <- structure(list(id = "16d5a60b99c95a8b", threadId = "16d5a60b99c95a8b", 
                         labelIds = list("UNREAD", "CATEGORY_UPDATES", "INBOX"), snippet = "Un nouveau document a été téléchargé sur Azopio. A new document has been uploaded on Azopio.", 
                         historyId = "24624", internalDate = "1569179340000", payload = list(
                           partId = "", mimeType = "multipart/mixed", filename = "", 
                           headers = list(list(name = "Delivered-To", value = "pop3thinkr@gmail.com"), 
                                          list(name = "Received", value = "by 2002:ac8:1341:0:0:0:0:0 with SMTP id f1csp1795516qtj;        Sun, 22 Sep 2019 12:09:11 -0700 (PDT)"), 
                                          list(name = "X-Google-Smtp-Source", value = "APXvYqwFQd2Iyrndt5TjOHMzQwBEay2Sl6e9DkrJXhRkBvOyhFnb0dcmDvWjp18AKFeQFkhUi+PN"), 
                                          list(name = "X-Received", value = "by 2002:a5d:628f:: with SMTP id k15mr17771810wru.124.1569179351067;        Sun, 22 Sep 2019 12:09:11 -0700 (PDT)"), 
                                          list(name = "ARC-Seal", value = "i=1; a=rsa-sha256; t=1569179351; cv=none;        d=google.com; s=arc-20160816;        b=AfW71KXdMkUwmuhOLsuQz5co7yUu5BOA0Gp0oUwDFJCaUNcetblsvrTETmyQ6A8o/o         dVkwkd1/kj4qt1/bZNUpOMCAjuxs+7p3D2zFFd+x3n1CQvW1pguaWYW3/mPChQlQ05i9         qvPooo82ujgfbHUUM2+a5cTit1QT392Ajo/5rA7WewO2IQ6CgM2LQc8/f7YFqNwIPbAB         v6UP7YRclY1JHGPdR7JNyvhSjon4ukpqC2mue7dNpGw52zSAENRgK0ZcTagXMp20WJjX         s/CdkmbcqbCvT5ho33wbOuAEjpi5v1G9n6JGb2D1nCksYuyQwbIKccCH8o9d2EbzWvQh         Ky5g=="), 
                                          list(name = "ARC-Message-Signature", value = "i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816;        h=from:feedback-id:mime-version:origin-messageid:message-id:subject         :date:to:dkim-signature;        bh=6UnLXqzs8ExfllQa8vQR2CBYYvRpZ2PveHDFd4l2pRI=;        b=UxPj//Q87BhBMxxX5RXQ/zTvpmS92UkPvldPNh9yyDXKyFa7DTb0BqiDc51k24JHFQ         yZiRuHSNtkIVPHdcile9TR9dGhOvkTKjrYH0fGGGBcVQzy2d4qPFqpUaDl3Vt4+L7r/G         F1EFIg9cAbltH7EKom0nAyqTVugmiDpVRIVD7ZOmM5T/vq6goVWZ+hYgHLC+0cjN+6ON         ZxB3JZFO/fHCZZXgh7jsdYYHvfk78Lo4IgA+NU0RibqGuIzELeRKlhyU5cADHfGGL5w/         lGWy5UCuR2TebSOC/xlVb+Rm9Iu03ciiT4JX97MMAdjD9xJb7ot7R659Ll74EQU/ORjH         kdsQ=="), 
                                          list(name = "ARC-Authentication-Results", value = "i=1; mx.google.com;       dkim=pass header.i=@app.azopio.com header.s=mail header.b=adG8PUfw;       spf=softfail (google.com: domain of transitioning bounces-55311814-lesjustifs=NDD.fr@ae.d.mailin.fr does not designate 178.33.226.186 as permitted sender) smtp.mailfrom=\"bounces-55311814-lesjustifs=NDD.fr@ae.d.mailin.fr\";       dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=app.azopio.com"), 
                                          list(name = "Return-Path", value = "<bounces-55311814-lesjustifs=NDD.fr@ae.d.mailin.fr>"), 
                                          list(name = "Received", value = "from mail.NDD.fr (mail.NDD.fr. [178.33.226.186])        by mx.google.com with ESMTPS id i189si7160887wmg.178.2019.09.22.12.09.10        (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256);        Sun, 22 Sep 2019 12:09:11 -0700 (PDT)"), 
                                          list(name = "Received-SPF", value = "softfail (google.com: domain of transitioning bounces-55311814-lesjustifs=NDD.fr@ae.d.mailin.fr does not designate 178.33.226.186 as permitted sender) client-ip=178.33.226.186;"), 
                                          list(name = "Authentication-Results", value = "mx.google.com;       dkim=pass header.i=@app.azopio.com header.s=mail header.b=adG8PUfw;       spf=softfail (google.com: domain of transitioning bounces-55311814-lesjustifs=NDD.fr@ae.d.mailin.fr does not designate 178.33.226.186 as permitted sender) smtp.mailfrom=\"bounces-55311814-lesjustifs=NDD.fr@ae.d.mailin.fr\";       dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=app.azopio.com"), 
                                          list(name = "Received-SPF", value = "Pass (mailfrom) identity=mailfrom; client-ip=185.41.28.5; helo=ae.d.mailin.fr; envelope-from=bounces-55311814-lesjustifs=NDD.fr@ae.d.mailin.fr; receiver=<UNKNOWN>"), 
                                          list(name = "Authentication-Results", value = "mail.NDD.fr; dmarc=pass (p=none dis=none) header.from=app.azopio.com"), 
                                          list(name = "Authentication-Results", value = "mail.NDD.fr; dkim=pass (1024-bit key; unprotected) header.d=app.azopio.com header.i=@app.azopio.com header.b=\"adG8PUfw\"; dkim-atps=neutral"), 
                                          list(name = "Received", value = "from ae.d.mailin.fr (ae.d.mailin.fr [185.41.28.5]) by mail.NDD.fr (Postfix) with ESMTPS id 74B8228C5560 for <lesjustifs@NDD.fr>; Sun, 22 Sep 2019 19:09:07 +0000 (UTC)"), 
                                          list(name = "DKIM-Signature", value = "v=1; a=rsa-sha256; c=relaxed/relaxed; d=app.azopio.com; q=dns/txt; s=mail; bh=6UnLXqzs8ExfllQa8vQR2CBYYvRpZ2PveHDFd4l2pRI=; h=from:subject:date:mime-version:content-type;        b=adG8PUfwTJbiYU1e2ogqQVQnrHReZLGXPfvuoT1CsgtJoiiPYX+bwxIEMYaEwgHqShL3W4nrn88F        hDjEs+9kMqJgN+y5vg5VDt+haJXN0oKAdhYOPWJclLNQ7Jb645x6iPr2UOQmW4TrFLPiob20S2EV        Eq+RMF4MZD5lU/cT824="), 
                                          list(name = "X-Mailin-EID", value = "NTUzMTE4MTR%2BbGVzanVzdGlmc0B0aGlua3IuZnJ%2BPDIwMTkwOTIyMjEwOS43NDk0MDI3MjY2NUBzbXRwLXJlbGF5Lm1haWxpbi5mcj5%2BYWUuZC5tYWlsaW4uZnI%3D"), 
                                          list(name = "To", value = "lesjustifs@NDD.fr"), 
                                          list(name = "Date", value = "Sun, 22 Sep 2019 21:09:00 +0200"), 
                                          list(name = "Subject", value = "Nouvelle facture fournisseur / New supplier invoice"), 
                                          list(name = "Message-Id", value = "<7ca05658-9353-4c54-b466-0e92363ba4f1@smtp-relay.sendinblue.com>"), 
                                          list(name = "Origin-messageId", value = "<201909222109.74940272665@smtp-relay.mailin.fr>"), 
                                          list(name = "Content-Type", value = "multipart/mixed; boundary=\"===============6318386635271129077==\""), 
                                          list(name = "MIME-Version", value = "1.0"), list(
                                            name = "X-sib-id", value = "0cq7cRQN5-vEtXd3TuI45A5zGSW6yLnJksHmwf8h9heGfHjbjRxLiL_BaYRBOEyXFCWRmCYPp-Ta8Y7mqr6mMxLTZ4hr0l5ptpZtd08mNzH2aU7_uXB1gBqdq3hdaHQLq4hi-5cH5s4ZQte9P2M9rniVBRnTosPD9zenxutoPpgibA"), 
                                          list(name = "Feedback-ID", value = "185.41.28.5:1663519_-1:1663519:Sendinblue"), 
                                          list(name = "From", value = "Azopio <noreply@app.azopio.com>")), 
                           body = list(size = 0L), parts = list(list(partId = "0", 
                                                                     mimeType = "text/html", filename = "", headers = list(
                                                                       list(name = "Content-Type", value = "text/html; charset=\"utf-8\""), 
                                                                       list(name = "MIME-Version", value = "1.0"), list(
                                                                         name = "Content-Transfer-Encoding", value = "base64")), 
                                                                     body = list(size = 331L, data = "VW4gbm91dmVhdSBkb2N1bWVudCBhIMOpdMOpIHTDqWzDqWNoYXJnw6kgc3VyIEF6b3Bpby48YnI-PGJyPkEgbmV3IGRvY3VtZW50IGhhcyBiZWVuIHVwbG9hZGVkIG9uIEF6b3Bpby48aW1nIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHNyYz0iaHR0cDovL2JnZ2RmYmouci5iaC5kLnNlbmRpYnQzLmNvbS90ci9vcC9ib1hGck4zTkhDWFRmekdiTTRoVmRtU00wYmtSR1VGdEpia0kwRm9YUUhkVzEtQUlPSzFCRnU4c2tMNGNyOEliZ21fLWdSVFgwdGk3TUs2dERVUnZnbU9kdTFFY2VVd2c5NldsMG1aVEQwWkxoaUluVF9NTHZKV3JDdGtqQ3gtTmZjLUgwbGNCam5WS0F3IiBhbHQ9IiIgLz4NCg==")), 
                                                                list(partId = "1", mimeType = "application/octet-stream", 
                                                                     filename = "OUI.sncf_2019-09-16_00:00:00_40964.pdf", 
                                                                     headers = list(list(name = "Content-Type", value = "application/octet-stream"), 
                                                                                    list(name = "MIME-Version", value = "1.0"), 
                                                                                    list(name = "Content-Transfer-Encoding", value = "base64"), 
                                                                                    list(name = "Content-Disposition", value = "attachment; filename=\"OUI.sncf_2019-09-16_00:00:00_40964.pdf\"")), 
                                                                     body = list(attachmentId = "ANGjdJ-_1nV1olyC__enQta0twhxC-yXtne96hF_XKvJkf-SKga6legc6EJijnb3tvx8auBnKbsOau7WZOSwElJqrw7k58q4fIH0GvGtgGIb86bhEXL2zU9mSwV8hfj2Mw_A1tRxD-rx72EcNstROG4CTAejhLjeJgidVC2w7ebc_I76bj-xfmJhDWn98icIoPvobKp4qOotEs-h36OixtbcgHb9MW6M9iddMOkQW3oO2foJ4Jxl9ebqMBcilPn8WaSf90xdS9dI8csVHztN9xG8q1zvJz4yndMIsdqvHWMkFE29INNyPsnl9wybagE34CCLb_-UhY_6ZnnEK0uSduc2-e__Z1b-rdbzltWRjqFrGFCeCQmN_t6ZsV6ymqg", 
                                                                                 size = 12061L)))), sizeEstimate = 22590L), class = "gmail_message")

library(gmailr)
#> 
#> Attachement du package : 'gmailr'
#> The following object is masked from 'package:utils':
#> 
#>     history
#> The following objects are masked from 'package:base':
#> 
#>     body, date, labels, message
gm_save_attachments(ok)
gm_save_attachments(not_ok)
#> Error in file(con, "wb") : cannot open the connection
#> In addition: Warning message:
#> In file(con, "wb") :
#>   cannot open file './OUI.sncf_2019-09-16_00:00:00_40964.pdf': Invalid argument

Created on 2019-09-29 by the reprex package (v0.3.0)

Session info
devtools::session_info()
#> - Session info ----------------------------------------------------------
#>  setting  value                       
#>  version  R version 3.6.1 (2019-07-05)
#>  os       Windows 10 x64              
#>  system   x86_64, mingw32             
#>  ui       RTerm                       
#>  language (EN)                        
#>  collate  French_France.1252          
#>  ctype    French_France.1252          
#>  tz       Europe/Paris                
#>  date     2019-09-29                  
#> 
#> - Packages --------------------------------------------------------------
#>  package     * version    date       lib source                       
#>  assertthat    0.2.1      2019-03-21 [1] CRAN (R 3.6.0)               
#>  backports     1.1.4      2019-04-10 [1] CRAN (R 3.6.0)               
#>  base64enc     0.1-3      2015-07-28 [1] CRAN (R 3.6.0)               
#>  callr         3.2.0      2019-03-15 [1] CRAN (R 3.6.0)               
#>  cli           1.1.0      2019-03-19 [1] CRAN (R 3.6.0)               
#>  crayon        1.3.4      2017-09-16 [1] CRAN (R 3.6.0)               
#>  curl          3.3        2019-01-10 [1] CRAN (R 3.6.0)               
#>  desc          1.2.0      2018-05-01 [1] CRAN (R 3.6.0)               
#>  devtools      2.0.2      2019-04-08 [1] CRAN (R 3.6.0)               
#>  digest        0.6.19     2019-05-20 [1] CRAN (R 3.6.0)               
#>  evaluate      0.14       2019-05-28 [1] CRAN (R 3.6.0)               
#>  fs            1.3.1      2019-05-06 [1] CRAN (R 3.6.0)               
#>  gargle        0.3.1      2019-07-26 [1] CRAN (R 3.6.1)               
#>  glue          1.3.1      2019-03-12 [1] CRAN (R 3.6.0)               
#>  gmailr      * 1.0.0.9000 2019-09-29 [1] Github (r-lib/gmailr@61e2105)
#>  highr         0.8        2019-03-20 [1] CRAN (R 3.6.0)               
#>  htmltools     0.3.6      2017-04-28 [1] CRAN (R 3.6.0)               
#>  httr          1.4.0      2018-12-11 [1] CRAN (R 3.6.0)               
#>  knitr         1.23       2019-05-18 [1] CRAN (R 3.6.0)               
#>  lifecycle     0.1.0      2019-08-01 [1] CRAN (R 3.6.1)               
#>  magrittr      1.5        2014-11-22 [1] CRAN (R 3.6.0)               
#>  memoise       1.1.0      2017-04-21 [1] CRAN (R 3.6.0)               
#>  pkgbuild      1.0.3      2019-03-20 [1] CRAN (R 3.6.0)               
#>  pkgload       1.0.2      2018-10-29 [1] CRAN (R 3.6.0)               
#>  prettyunits   1.0.2      2015-07-13 [1] CRAN (R 3.6.0)               
#>  processx      3.3.1      2019-05-08 [1] CRAN (R 3.6.0)               
#>  ps            1.3.0      2018-12-21 [1] CRAN (R 3.6.0)               
#>  R6            2.4.0      2019-02-14 [1] CRAN (R 3.6.0)               
#>  Rcpp          1.0.1      2019-03-17 [1] CRAN (R 3.6.0)               
#>  remotes       2.0.4      2019-04-10 [1] CRAN (R 3.6.0)               
#>  rlang         0.4.0      2019-06-25 [1] CRAN (R 3.6.1)               
#>  rmarkdown     1.13       2019-05-22 [1] CRAN (R 3.6.0)               
#>  rprojroot     1.3-2      2018-01-03 [1] CRAN (R 3.6.0)               
#>  sessioninfo   1.1.1      2018-11-05 [1] CRAN (R 3.6.0)               
#>  stringi       1.4.3      2019-03-12 [1] CRAN (R 3.6.0)               
#>  stringr       1.4.0      2019-02-10 [1] CRAN (R 3.6.0)               
#>  testthat      2.1.1      2019-04-23 [1] CRAN (R 3.6.0)               
#>  usethis       1.5.0      2019-04-07 [1] CRAN (R 3.6.0)               
#>  withr         2.1.2      2018-03-15 [1] CRAN (R 3.6.0)               
#>  xfun          0.8        2019-06-25 [1] CRAN (R 3.6.0)               
#>  yaml          2.2.0      2018-07-25 [1] CRAN (R 3.6.0)               
#> 
#> [1] C:/Users/Vincent/Documents/R/win-library/3.6
#> [2] C:/Program Files/R/R-3.6.1/library
VincentGuyader added a commit to VincentGuyader/gmailr that referenced this issue Sep 29, 2019
@VincentGuyader VincentGuyader linked a pull request Sep 29, 2019 that will close this issue
@jimhester jimhester added the bug an unexpected problem or unintended behavior label Apr 3, 2020
@jimhester
Copy link
Member

I think we would need to sanitize the filenames in more ways than just this to make it robust.

I am also not clear when the colons are causing problems, at least on unix systems colons in file names are definitely valid.

@HadyShaaban
Copy link

Hello dears
i have an issue in saving email attachment , i tried the following code but with the following error

Clientemails = messages("YesterdaySales")
Email = message(id = Clientemails [[1]]$"messages"[[1]]$"id")$snippet
Sheet = gm_save_attachments(Email , path = "D:/Clientemails /File.xlsx")

the error appearing is

Error in gm_save_attachments(Email, path = "D:/Clientemails /File.xlsx") : 
  has_class(x, "gmail_message") is not TRUE

How can i save the excel sheet from this email ?
thanks in advance

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug an unexpected problem or unintended behavior
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants