whiteleaf7 / narou

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

Grinchii opened this issue · comments

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

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

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

commented

以前はタイトルにしていたようですがこのissueで変わっていました.
#157 (comment)

commented

RubyくわしくしらないのですがPolyが悪さしているのは確実なようで, ライブラリのContent IDを設定する部分をコメントアウトすると#157 (comment) のメール送信できました. (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の下記のコードを変更

    basename = "#{id}#{extname(attached_file_path)}"

    変更後:

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オブジェクトじゃない場合は安全かわからないので私の方法を取る際は自己責任でお願いします.

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

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

epubでメール送信した際にタイトルがidになり困っていたのですがこちらの手順で解決しました!
#402 (comment)

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

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

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

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

commented

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

@Grinchii さんがCLIの方を使っているのであれば, convertコマンドにファイル名を指定するオプションがあるので, そちらはいかがでしょうか?

@opt.on("-o FILE", "--output FILE", "出力ファイル名を指定する。フォルダパス部分は無視される") { |filename|
@options["output"] = filename
}

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

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