narou
narou copied to clipboard
メールで送信がタイトルではなく全てをIDで送信されている事になりました。
色々調べてみたけど、Amazonのsend to Kindleに変化があったみたいです。今までAmazonはebookのタイトルを使っていたのだが、最近はebookのfile nameを使っているようだ。
Narou.rbはメール送信で「くまクマ熊ベアー .EPUB」ではなく「4.EPUB 」という感じでメールを送っている。
それを番号からタイトルに変わることが出来るのですか?
以前はタイトルにしていたようですがこのissueで変わっていました. https://github.com/whiteleaf7/narou/issues/157#issue-200774229
RubyくわしくしらないのですがPolyが悪さしているのは確実なようで, ライブラリのContent IDを設定する部分をコメントアウトするとhttps://github.com/whiteleaf7/narou/issues/157#issue-200774229 のメール送信できました. (macです)
解決策:
-
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
-
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
出力:
mail.attachments[name]
が何を返すのかわからないのですが, Partオブジェクトだった場合はDocument的にランダムなIDが割り当てられるそうなので大丈夫そうです.
https://rubydoc.info/github/mikel/mail/Mail/Part#add_content_id-instance_method
※Partオブジェクトじゃない場合は安全かわからないので私の方法を取る際は自己責任でお願いします.
上記変更を行ったところ, 私の環境ではメールでタイトルを送れるようになったので一旦調査終わります.
根本的に解決するにはメールクライアントを自作するか乗り換える必要がありそうです.
epubでメール送信した際にタイトルがidになり困っていたのですがこちらの手順で解決しました! https://github.com/whiteleaf7/narou/issues/402#issuecomment-1712414336
ありがとう!ほんとに助かりました!
時々は�がタイトルに出ることもありますが。 例えば、「[未来人A] 限界レベル1からの成り���がり。。。」
Filenameを「[作者]タイトル」ではなく、「タイトル」だけにする方法があるのでしょうか?
例えば「[長尾 隆生@書籍複数シリーズ続刊中] 秘密のギフト【クラフトスキル】で領地開拓し。。。」のような、作者の名前が長すぎる場合はKindleではタイトルが読めなくなることもあります。
Filenameを「[作者]タイトル」ではなく、「タイトル」だけにする方法があるのでしょうか?
@Grinchii さんがCLIの方を使っているのであれば, convertコマンドにファイル名を指定するオプションがあるので, そちらはいかがでしょうか? https://github.com/whiteleaf7/narou/blob/89566d7d32c49880cf472f4c52ed9273ecdf135c/lib/command/convert.rb#L70-L72
ただフォーマット([title]
など)は指定できなそうなので, 直接タイトルを打ち込む必要があります.
* 私は試してないので, 実際にどのような挙動になるかはわかりません