whiteleaf7 / narou

Narou.rb - 小説家になろうのダウンローダ&縦書き整形&管理アプリ。Kindle(などの電子書籍端末)でなろうを読む場合に超便利です!
Other
505 stars 55 forks source link

メールで送信がタイトルではなく全てをIDで送信されている事になりました。 #402

Open Grinchii opened 1 year ago

Grinchii commented 1 year ago

D51898BE-5624-412C-AC8D-20F6F001503A

Grinchii commented 1 year ago

色々調べてみたけど、Amazonのsend to Kindleに変化があったみたいです。今までAmazonはebookのタイトルを使っていたのだが、最近はebookのfile nameを使っているようだ。

Narou.rbはメール送信で「くまクマ熊ベアー .EPUB」ではなく「4.EPUB 」という感じでメールを送っている。

それを番号からタイトルに変わることが出来るのですか?

aka9 commented 1 year ago

以前はタイトルにしていたようですがこのissueで変わっていました. https://github.com/whiteleaf7/narou/issues/157#issue-200774229

aka9 commented 1 year ago

RubyくわしくしらないのですがPolyが悪さしているのは確実なようで, ライブラリのContent IDを設定する部分をコメントアウトするとhttps://github.com/whiteleaf7/narou/issues/157#issue-200774229 のメール送信できました. (macです)


解決策:

  1. Ponyライブラリのこの行をコメントアウト. https://github.com/benprew/pony/blob/3083ce927c321d6421257be9c02f584c13a90bf7/lib/pony.rb#L327 パス例: /Users/<username>/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/pony-1.13.1/lib/pony.rb

  2. narouの下記のコードを変更 https://github.com/whiteleaf7/narou/blob/d30f29a1e7fa62af3c8bb5127846b6ad700f8897/lib/mailer.rb#L60 変更後:

    basename = File.basename(attached_file_path)

    パス例: /Users/<username>/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/narou-3.8.2/lib/mailer.rb


出力:

スクリーンショット 2023-09-09 5 20 12

mail.attachments[name]が何を返すのかわからないのですが, Partオブジェクトだった場合はDocument的にランダムなIDが割り当てられるそうなので大丈夫そうです. https://rubydoc.info/github/mikel/mail/Mail/Part#add_content_id-instance_method ※Partオブジェクトじゃない場合は安全かわからないので私の方法を取る際は自己責任でお願いします.

上記変更を行ったところ, 私の環境ではメールでタイトルを送れるようになったので一旦調査終わります.

根本的に解決するにはメールクライアントを自作するか乗り換える必要がありそうです.

misinayu commented 8 months ago

epubでメール送信した際にタイトルがidになり困っていたのですがこちらの手順で解決しました! https://github.com/whiteleaf7/narou/issues/402#issuecomment-1712414336

Grinchii commented 8 months ago

ありがとう!ほんとに助かりました!

時々は�がタイトルに出ることもありますが。 例えば、「[未来人A] 限界レベル1からの成り���がり。。。」

Filenameを「[作者]タイトル」ではなく、「タイトル」だけにする方法があるのでしょうか?

例えば「[長尾 隆生@書籍複数シリーズ続刊中] 秘密のギフト【クラフトスキル】で領地開拓し。。。」のような、作者の名前が長すぎる場合はKindleではタイトルが読めなくなることもあります。

aka9 commented 5 months ago

Filenameを「[作者]タイトル」ではなく、「タイトル」だけにする方法があるのでしょうか?

@Grinchii さんがCLIの方を使っているのであれば, convertコマンドにファイル名を指定するオプションがあるので, そちらはいかがでしょうか? https://github.com/whiteleaf7/narou/blob/89566d7d32c49880cf472f4c52ed9273ecdf135c/lib/command/convert.rb#L70-L72

ただフォーマット([title]など)は指定できなそうなので, 直接タイトルを打ち込む必要があります.

* 私は試してないので, 実際にどのような挙動になるかはわかりません