janeczku / calibre-web

:books: Web app for browsing, reading and downloading eBooks stored in a Calibre database
GNU General Public License v3.0
12.71k stars 1.33k forks source link

send azw3 to kindle email #295

Closed jiangjiangflies closed 5 years ago

jiangjiangflies commented 7 years ago

Hi, Why I can't send azw3 format ebook to my kindle email?

jkrehm commented 7 years ago

Haven't tried it myself, but Googl'ing for "send azw3 to Kindle email" makes me think that it's an issue with the DRM that's part of AZW3 files.

jiangjiangflies commented 7 years ago

Can't kindlegen convert azw3 to mobi or epub before sending emails?

jkrehm commented 7 years ago

I don't have a file handy. Have you tried it with your copy of kindlegen? I don't believe it will because azw3/kf8 is designed to prevent viewing on non-Kindle devices.

Personally I use a slightly older version of Kindle for Mac (1.17, I believe) so that I don't have to deal with KF8.

jkrehm commented 7 years ago

Ah nevermind, KFX/AZW6 is the problem, not KF8/AZW3. So at least the DRM shouldn't be an issue. Sorry for wandering into the weeds.

jiangjiangflies commented 7 years ago

I think it would be better if you can replace kindlegen in the vender with ebook-convert binary.

jkrehm commented 7 years ago

Can you provide some details on what error you get? Have you tried another ebook? Have you tried sending the file directly to your Kindle email (not via the calibre-web interface)?

jiangjiangflies commented 7 years ago

I tried to send the file directly to my kindle email, amazon refused......It doesn't support azw3 file to mail. So could you add a function to convert azw3 to mobi before sending?

jkrehm commented 7 years ago

ebook-convert does seem like a good way to go to support a wider variety of book formats. It requires installing Calibre, which may or may not make sense, e.g. I run calibre-web on a headless (no GUI) Linux server.

So if ebook-convert is made to be an option, I think kindlegen needs to remain.

For now, I recommend you use Calibre to convert your AZW3 books to ePub or MOBI format. calibre-web's code doesn't even support AZW3 files, so I don't know how it even mailed the file out.

    for entry in data:
        if entry.format == "MOBI":
            formats["mobi"] = os.path.join(calibrepath, book.path, entry.name + ".mobi")
        if entry.format == "EPUB":
            formats["epub"] = os.path.join(calibrepath, book.path, entry.name + ".epub")
        if entry.format == "PDF":
            formats["pdf"] = os.path.join(calibrepath, book.path, entry.name + ".pdf")

    if len(formats) == 0:
        return _("Could not find any formats suitable for sending by email")
sbarut commented 7 years ago

Amazon servers don't support azw3 or any other formats expect mobi

jiangjiangflies commented 7 years ago

I'm using a headless linux server and I have installed calibre which contains the ebook-convert binary. I don't think it a problem to install calibre. So I strongly suggest that adding an option to use ebook-convert to convert non-mobi format to mobi format so that Amazon can accept email.

sbarut commented 7 years ago

Why? For example, epub3 and azw3 almost same formats (both supports html5 and css3 elements). Why do you need convert them?

If you want to convert them to pdf, it is not stable, nevermind.

jiangjiangflies commented 7 years ago

I want to convert azw3 or epub to mobi because only mobi format is accepted by Amazon. Most of my ebooks are azw3 format, they can't be sent by email.

sbarut commented 7 years ago

Oh, I get it now. If you using gnu linux, I would help you about a bash script for convert all files.

jiangjiangflies commented 7 years ago

Thanks, but I still hope there is an option to use ebook-convert to convert non-mobi files to mobi format automatically before sending email. Anyway, I really appreciate your great work.

simonporter007 commented 7 years ago

Muddying the water slightly perhaps, but I'd love to be able to email azw3 to the email address specified. I use my own email address and download books to the Kindle through IMAP plugin. So it doesn't go through amazon servers (and therefore is supported). Calibre has a format priority list, guess that would be the easiest way?

jiangjiangflies commented 7 years ago

How do you modify this program to use IMAP plugin to bypass amazon server? Could you paste your code here?

simonporter007 commented 7 years ago

@jiangjiangflies Sorry, should have been more specific. The IMAP plugin is a KUAL plugin on the kindle. So I email from calibre at the moment, to my own email address. Then open the plugin on the kindle which downloads the books and adds the covers. The code isn't great, I just knocked up something that worked for my case - but you could always use it as a base if you were still interested, i'll get it uploaded.

Edit: Uploaded to IMAPBookCovers

OzzieIsaacs commented 6 years ago

@bodybybuddha : Would it possible for you to add the ability to send azw and azw3 files (adding the option to the send to kindle button)

bodybybuddha commented 6 years ago

Yes - I’ll get started on it next.

Edit: To be clear, we're going to allow for the Send to Kindle option to appear if the existing book formats are ePub, azw, azw3, and mobi (of course). If the user clicks on the button, the mobi version will be sent, otherwise, one of the other formats will be used to create a mobi version to be sent.

Is this correct?

(btw - just for fun I tested sending an azw3 file through to my kindle via email and it failed. I was hoping that maybe they had changed their policy. Unfortunately, they have not.)

OzzieIsaacs commented 5 years ago

is implemented meanwhile