2013年5月22日水曜日

堀江貴文氏などのブロマガをKindleに自動でいれる方法

ニコニコのブロマガで堀江貴文氏や夏野剛氏のメルマガを購読しています。
メルマガなのでそのままメーラーで読んだり、Webから読んだりしています。
しかし、堀江氏のメルマガは特に長く、途中まで読んであとで続きを読もうとすると
スクロールしないといけなかったりして面倒です。
ブロマガはepubもダウンロード出来るのでiBooksで読めばいいのですが、、
いちいちダウンロードするというのがまた面倒で、、何回かやった後にやめて
しまいました。
あと、いまいち軽快じゃないし。

と、しばらくは諦めてブラウザで読んでいたのですがふと、send-to-kindleって
あったけど、あれどうなんだろうと。
ひょっとしてメールをそのまま転送したらKindleに入るのでは?と思ってやって
みたのですが、添付ファイルを読み込む仕様で、メールそのものは入りません。
じゃあ、ということで、一旦メールサーバでメールを受け、それをテキストファイルに
して、それを添付後Kindleに送るスクリプトを作ってみました。

最近PHPを使っているのでスクリプトはPHPで作成。
前準備としてメールサーバ側で受信時にPHPスクリプトにメールを渡す設定が
必要です。
僕はさくらのレンタルサーバーを使っていますが、Mailboxの.mailfilterを
書き換えてパイプで渡すようにしてみました。


PHPスクリプトですが、以下のように書いてみました。


#!/usr/local/bin/php

<?php
require("PHPMailer/class.phpmailer.php");

$file = "mail.txt";
$content = null;
$fp=fopen("php://stdin",'r') or die('File Open Error');

while( !feof($fp) ){
$content .= fgets( $fp ,1024);
}

file_put_contents($file, $content);


mb_language("japanese");
mb_internal_encoding("UTF-8");

$to = "xxx@kindle.com";
$subject = "test";
$body="test";
$from = "xxx@xxx.xxx"; //送り主

$mail = new PHPMailer();
$mail->CharSet = "iso-2022-jp";
$mail->Encoding = "7bit";

$mail->AddAddress($to);
$mail->From = $from;
$mail->FromName = mb_encode_mimeheader(mb_convert_encoding($fromname,"JIS","UTF-8"));
$mail->Subject = mb_encode_mimeheader(mb_convert_encoding($subject,"JIS","UTF-8"));
$mail->Body = mb_convert_encoding($body,"JIS","UTF-8");

//添付ファイル追加
$mail->AddAttachment($file);
$mail->Send();
?>


ファイルを添付して送信するのに、PHPMailerを使わせて頂きました。
単に来たメールをそのままテキスト保存し、添付して送信しているだけです。
さらに手を入れるなら本文だけにしたりファイル名を元メールのSubjectにしたりとか
いろいろ考えられますが、、面倒だったのでこれで完了です。
とにかくKindleで読めればいいので。
メールヘッダーとかごっちゃり入りますが、気にしない。

やっぱりKindleだと割とサクサク読めます。
ただ、URLがページの一番上とか下に来た時に開くことができない時があります。。
ちょっと微妙です。。(iOS版です)
でもURLはアプリ内ブラウザで開けるのでいちいちアプリが切り替わらなくて良いです。


2013年5月13日月曜日

mobile safariでのline-height? #fb

iPhoneなどに搭載されているmobile safariで気づいたことについて。

h4タグなどでタイトルを表示したいたのですが、タイトルが半角英数字のみの場合と
日本語も入っている場合でどうも高さが違うようで。

jquery mobileのグリッドで左右に並べて表示してたのですが、片方が英数字のみ、
片方が日本語も入っている場合、なぜか高さが違ってしまって揃わず、、
それで数時間は悩んでました。。

で、恥ずかしながらMacとiPhoneを接続するとMac側のSafariでWebインスペクターが
使えるということをあとで知り見てみたのですが、最終的なスタイルでheightが確かに
違うんですよね。
14pxで指定して、heightが英数字のみだと18px、日本語入ってると22px。
PCのChromeで確認しながら作成したいたのですが、そのときはちゃんとそろってて、
どちらの場合もChromeだと16pxでした。

というわけで、line-heightを120%ほどに指定してみると、mobile safariでも
揃うようになりました。

Chromeだと問題なかったのですが、ブラウザによったらこんなこともあるのかなぁ、、
という感じですが、、単に僕の経験不足かもという感じもします。。

とりあえず忘れないように、というか忘れても思い出せるように書いてみました。

追記:
MacのSafariやChromeもみてみると、多少違うものの英数字のみと日本語混じりの
場合とで高さが違ってました。
フォントとかの関係でしょうか?
時間もないので深追いはできませんが。。


2013年4月1日月曜日

[Chrome拡張] Gmail MonoSpace Font #fb

仕事、プライベートともメールはGmailに集約しています。
WebメールとはいってもUIもどんどん使いやすくなっていて、特にラベル機能や
強力な検索機能は僕にとって必須となっています。

ただGmailでも不満点があって、固定ピッチフォントを設定できないところです。
メーラーだとはじめから固定ピッチフォントが指定されてたり、自分の好きな
フォントを指定できたりしますが、Gmailではできません。
ブラウザ自体のフォントを変えたり、Gmailに対してCSSを設定すればできなくも
ないのですが、、、なんだか面倒だったりします。

まあ、そう考える人は他にも当然いて、拡張機能を作ってくれる人もありがたい
ことにいるんですね。
今までは「Fixed Width Text for Gmail」という拡張機能を使用してました。
が、、昨年ぐらいから使えるようになったメール作成の新画面には対応してないん
ですね。バージョンアップもする気配はなし。。

ということで、別の拡張機能をググってみると、いいのが出て来ました。

「Gmail MonoSpace Font」
https://chrome.google.com/webstore/detail/gmail-monospace-font/eghfgaofkemobknodgopcbonnglhbfhe
http://creazy.net/2012/12/gmail_monospace_font2.html

多分日本の方が作成されていて、今後のGmailのバージョンアップにも対応していく
という力強いお言葉が!
この場を借りてお礼申し上げます!

以前より少しフォントが大きくなったような気がするので、前の拡張機能は12pxぐらい
だったのかなという感じですが、細かいことは気にしないです。

ちなみに新しいメール作成画面ですが、はじめは画面が小さめで戸惑いますが、確実に
いろいろ良くなっています。すぐなれると思います。


ところで、、仕事なんかでメールするときに、固定ピッチフォントを前提に桁を揃えた
文書を作成してたりするんですが、世間一般的には固定ピッチフォントなんでしょうかね?
Gmailがその辺に全然対応してないところから、アメリカなんかではあまりその辺は
気にしてなさそうな雰囲気がしてます。
そういうのをしたければ書式付きでやるということでしょうか?
それもひとつの方法ではありますね。というか、それが正しい気もしてきました。


他にもFireFoxなどにも対応したUserScriptも公開されているようですので、
Gmailを固定ピッチフォントで使いたい方はどうぞ。