Evernoteの選択中のノートをHTMLにエクスポートして、メールでKindleに送信するスクリプト
evernote_to_kindle.js
// 自分のKindleのメールアドレス (必ず変更すること)
KINDLE_MAIL_ADDRESS = "your_kindle_address@きんどる.com"
// Kindleへの送信を許可しているメールアドレス
KINDLE_PERMITTED_ADDRESS = "your_name <your_address@gmail.com>"
TEMP_DIR = "evernote_to_kindle"
ZIP_NAME = "evernote_to_kindle.zip"
app = Application.currentApplication()
app.includeStandardAdditions = true
// Evernoteの参照と、選択中のノートを取得
Evernote = Application("Evernote")
selected_notes = Evernote.selection()
// 一時フォルダを作成
se = Application("System Events")
temp_folder = Path(se.temporaryItemsFolder.posixPath() + "/" + TEMP_DIR)
// ノートをHTMLとしてエクスポートし、HTMLをZIPに固める
Evernote.export(selected_notes, {to:temp_folder, format:"HTML"})
app.doShellScript("cd " + temp_folder + ";zip " + ZIP_NAME + " *.html")
// メール作成
Mail = Application("Mail")
m = Mail.OutgoingMessage({sender: KINDLE_PERMITED_ADDRESS, subject:"変換"}).make()
m.toRecipients.push(Mail.Recipient({address: KINDLE_MAIL_ADDRESS }))
// ZIPを添付して送信
m.attachments.push(Mail.Attachment({fileName: temp_folder + "/" + ZIP_NAME}))
Mail.send(m)
// 一時フォルダを削除
se.delete(se.diskItems[temp_folder.toString()])
KINDLE_MAIL_ADDRESS
のみ、書き換えが必須です。
Kindleのメールアドレスに必ず書き換えてください。
KINDLE_PERMITTED_ADDRESS
はKindleへの送信を許可しているメールアドレスです。
Macの送信メールアドレスが一つしかなく、かつKindleへの送信を許可されているアドレスであればいじる必要はありません。
Macのどのメールアドレスで送信するかを設定するのですが、存在しなければ無視されます。
また、登録されてる名前・メールアドレス・括弧が一字一句同じでないと送信アドレスを変更できません。(Mailの仕様です。)
ターミナルで以下を実行すると名前とメールアドレスの一覧が表示されるので、コピペしてください。
osascript -l JavaScript -e 'Application("Mail").accounts().forEach(function(account){console.log(account.fullName() + " <" + account.emailAddresses()[0] +">")})'
複数のノートが選択されているとEvernoteがindex.htmlを作りやがりますので適当に削除してください。