Experimental email attachment downloader for Kobo devices (gmail only ATM)

KoboMail

Experimental email attachment downloader for Kobo devices (gmail only ATM)

What is KoboMail?

It is a software that will read emails sent to [email protected] and download the attached files to the Kobo device. It doesn't restrict the filetype so try to keep the emails you send as clean as possible ;) The software takes advantage of a particularity in Gmail which is you can add flags to you email like the +kobo in the example above and still receive those emails on the [email protected] account. This makes it much easier for searching and listing emails specifically targetting your Kobo device. Once the email is treated by program it will automatically flag it as seen so it's not processed twice (there's a flag in the config file that allows overriding for such time you want to redownload all files you've sent).

Warning

This software is experimental, if you don't want to risk corrupting your files, database, etc of your Kobo device don't use this. Use this software AT YOUR OWN RISK.

Changelog

0.1.0

  • Initial release

Installing

Quick start for Kobo devices:

  1. download the latest KoboRoot.tgz
  2. connect your Kobo device to your computer with a USB cable
  3. place the KoboRoot.tgz file in the .kobo directory of your Kobo device
  4. disconnect the reader

When you disconnect the Kobo device, it will perform the instalation of the KoboRoot.tgz files onto the device. Once the installation is finished you can verify that KoboRoot.tgz is now gone. No you should head to the .add/kobomail folder and edit the kobomail_cfg.toml file

# currently only gmail is supported

# you need to activate IMAP for your gmail account
imap_host = "imap.gmail.com"
imap_port = "993"

# gmail account
imap_user = "[email protected]"

# gmail app password. you will need to generate a password specifically for KoboMail
# this can be done here: https://support.google.com/mail/answer/185833?hl=en-GB
imap_pwd = "password"

# with gmail you can send an email to [email protected] and the email will land on [email protected] account
# you can customize the flag used to detect the emails you want to process specifically for the Kobo device
email_flag = "kobo"

# flag to process all emails sent fo [email protected] or only the unread emails
email_unseen = "true"

# If you want to uninstall KoboMail just place an empty file called UNINSTALL next to this configuration file 
# and next time KoboMail runs it will delete itself

If the configuration is not correct KoboMail might not be able to work correctly. You will need to activate IMAP on your gmail account and generate an app password as described in the config file. Once the configuration is correct everytime your device connects to a Wifi access point the KoboMail program will run and process any emails sent to [email protected] that are not open yet. If any messages were processed after a few seconds Kobo will display the dialog to connect to a PC, you don't need to actually physically connect a USB cable you just need to click on the Connect button. This is part of a workarround to trigger Kobo to recognize the new ebooks it just received via email. After clicking on the connect button you will see the common full screen dialog as if Kobo was connected to a PC and shortly after it will show the import content progress bar.

You can attach multiple files to a single email, every attachment will be processed. All attachments will be dumped into the folder KoboMailLibrary.

There's a log.txt file in the .add/kobomail folder that will allow to diagnose problems.

Uninstalling

Just place a file called UNINSTALL in the .add/kobomail folder and everything will be wiped clean except the KoboMailLibrary~.

Further information.

This project includes bits and pieces of many different projects and ideas discussed in the mobileread.com forums, namely:

Similar Resources

EMail Searcher By Golang

EMail Searcher By Golang

GiveMeMail ▄████ ██▓ ██▒ ██▓ ▓██████ ███▄ ▄███▓▓██████ ███▄ ▄███▓ ██ ██▓ ██▓ ██▒ ▀█▒ ▓██▒ ▓██░ █▒ ▓█ ▀ ▓██▒▀█▀ ██▒▓█

Dec 4, 2021

✉️ A Go library for email verification without sending any emails.

email-verifier ✉️ A Go library for email verification without sending any emails. Features Email Address Validation: validates if a string contains a

Jun 24, 2021

End-to-end encrypted email for the mesh networking age

Yggmail It's email, but not as you know it. Introduction Yggmail is a single-binary all-in-one mail transfer agent which sends and receives email nati

Jan 2, 2023

envio de email via SMTP com anexo usando Go

gosendmail - SMTP This repo is a simple net/smtp abstraction for sending emails using SMTP. With it we can send emails With copy, with blind copy and

Aug 18, 2022

Go implementation of the JWZ email threading algorithm

Go implementation of the JWZ email threading algorithm

The JWZ Threading algorithm written in Go This is an open source Go implementation of the widely known JWZ message threading algorithm originally writ

Oct 31, 2022

a simple api that sent spam via sms and email

a simple api that sent spam via sms and email routes: /sms /email example request with python

Oct 19, 2021

📮 Simple (but useful) email sender written in pure Go v1.17. Support HTML templates and attachments.

📮 Go Email Sender Simple (but useful) email sender written in pure Go v1.17. Yes, yet another email package here! 😅 Support HTML templates and attac

Dec 31, 2021

Monitoring and automation for Open Source email servers, starting with Postfix.

Monitoring and automation for Open Source email servers, starting with Postfix.

Welcome to Lightmeter Control Center, the Open Source mailops monitoring application.

Dec 19, 2022

In this project I just created email-verification Code.

mail-verification In this project I just created email-verification Code. Setup Before run the program. Type go mod tidy on terminal. After that chang

Nov 4, 2021
Comments
  • Suggest using NickelDBus

    Suggest using NickelDBus

    Hi, just saw your post over on MobileRead, looks like an interesting project!

    Might I suggest investigating NickelDBus for better integration with Kobo's software? Especially regarding book recanning. There would be no need for any user interaction with the "connect" dialog then.

    You can even use it to display messages to the user, and a confirmation dialog is available for simple yes/no user input if desired.

    Another thing you can do is listen for 'wifi connected' signals that Nickel emits, as a potential alternative to the udev rules.

    API documentation for NickelDBus is here. Please excuse the Qt nature of the documentation. Substitute the Qt types for d-bus types, and you shouldn't have an issue...

    One example of NickelDBus usage is in Kobo-UNCaGED. NickelDBus itself also has a fully featured (but also deprecated) Go CLI client you can use for reference as well. I keep it around for that purpose...

  • Why GMail only?

    Why GMail only?

    You say "Only gmail atm", but the program seems to be compatible with any IMAP server. Is there any specific tecnique used in the program that makes it compatible only with GMail?

    Thanks for this by the way!

  • Integration with KOReader Possible?

    Integration with KOReader Possible?

    Hi Clisboa,

    This tool is so cool and useful! I really miss the send-to-kindle via email function in KOBO devices. Thanks for your great efforts!

    As I use KOReader exclusively, I am wondering whether it is possible to keep KoboMail auto-sync in the background when KOReader is running. The issue here is that KOReader will kill Nickel process during its start so any hook/trigger based on NickelMenu or NickelDBus might not work at all.

    My curruent workaround is to exit the KOReader which will restart the Nickel automatically and then manually run KoboMail. Clearly this is cumbersome. Really wish a better solution here.

    I am new to Kobo dev hence might not understand your scripts and KOReader starting script very well. Please enlighten me if I was wrong about how they work under the hood.

  • Destination folder configuration

    Destination folder configuration

    A feature suggestion is offering a configuration to follow a template when adding books to a device, instead of saving "TItle-author.epub" to the generic "KoboMailLibrary" folder in the root directory. For instance, this is my current configuration:

    KOBOeReader/books/{#collect}/{series}/{series_index:0>3s} - {title} - {author_sort}

    While the collection information may not be embedded in the book metadata, the series, series number, title and author is.

Related tags
A simple parser for the query used in gmail to filter for e-mails

Go Gmail Query Parser by Dustin Breuer This project is work in progress. Prerequisites Before installing this project you need: ?? Go (at least 1.17)

Feb 2, 2022
VMail - check the markup (HTML, CSS) of HTML email template compatibility with email clients
VMail - check the markup (HTML, CSS) of HTML email template compatibility with email clients

VMail - check the markup (HTML, CSS) of HTML email template compatibility with email clients Email clients use different rendering standards. This is

Dec 17, 2022
Email-searcher - Given a domain name and real name, attempt to find an existing email for that user.

email-searcher Given a domain name and real name, attempt to find an existing email for that user. Using Run it with both the domain and name flags, l

Jan 2, 2022
Sending emails using email server talking to RabbitMQ and send grid server sending emails to email ids consumed from RabbitMQ
Sending emails using email server talking to RabbitMQ and send grid server sending emails to email ids consumed from RabbitMQ

Sending emails using email server talking to RabbitMQ and send grid server sending emails to email ids consumed from RabbitMQ

Oct 27, 2022
Experimental IMAP gateway to notmuch

go-imap-notmuch An IMAPv4 frontend to a notmuch database. Nothing really works yet. Configuration --- username: "notmuch" password: "notmuch" maildir:

Jun 28, 2022
Robust and flexible email library for Go

email Robust and flexible email library for Go Email for humans The email package is designed to be simple to use, but flexible enough so as not to be

Dec 30, 2022
:white_check_mark: A Go library for email verification without sending any emails.

email-verifier ✉️ A Go library for email verification without sending any emails. Features Email Address Validation: validates if a string contains a

Dec 30, 2022
Golang package for send email. Support keep alive connection, TLS and SSL. Easy for bulk SMTP.

Go Simple Mail The best way to send emails in Go with SMTP Keep Alive and Timeout for Connect and Send. IMPORTANT Examples in this README are for v2.2

Jan 8, 2023
An email MIME artist for golang

Marcel is a tool to generate IETF compliant emails in raw MIME format. I mainly use this for generating emails with attachments and sending them via amazon SES. If that's what you're doing too, you may want notifications

Nov 7, 2022
:incoming_envelope: Simple email interface across multiple service providers (ses, postmark, mandrill, smtp)
:incoming_envelope: Simple email interface across multiple service providers (ses, postmark, mandrill, smtp)

go-mail Lightweight email package with multi-provider support (ses, mandrill, postmark) Table of Contents Installation Documentation Examples & Tests

Dec 10, 2022