ほぼ群馬と言っても過言でない埼玉の奥地から都内に引っ越してきた。大学のとき以来 8 年ぶりの都民。極力荷物を持ってこないと決めていたので自分の部屋にはまだベッド、パソコンまわり、数冊の本しかない。机もまだ買ってないのでダンボールの上にモニタを置いている。通勤時間がドアツードアで 2 時間から 30 分になったのが 1 番でかいな。環境も変わったことだしいろいろ変えていきたい。
Email::Sender を使う上での罠
Email::Send で使われている Return::Value の最新版が読み込むだけで死ぬようになっていて、Moose から Moo に変わったしいよいよ Email::Sender に移行しなきゃと思い作業したのだけどその際にちょっとはまったのでメモ。
RFC に違反するアドレスに送信できない
オプションで宛先を明示しないと $email
のヘッダの中から to をパースしてくれるのだけど、その時に使われる Email::Address で RFC 違反のメールアドレスが取り除かれてしまう。これは2引数目(envelope)で以下のように宛先を明示すると回避できる。
sendmail( $email, +{ to => 'really-bad-address.....@example.com' }, );
to だけ指定すると cc が送信されない
to をパースする時に cc も同時にパースしているので、to を指定していると cc のパースも行なわれないので cc には送信されない。上でも示した部分の近く。これも Email::Address によるパースを回避したいならちゃんと指定する。
sendmail( $email, +{ to => 'really-bad-address.....@example.com', cc => 'ccccccc@example.com', }, );
で、こうしてみるわけですがこれだと送信されない。envelope を指定していない場合に to をパースする時に同時に cc をパースして to に含めているのと同様に cc も envelope の to に入れなきゃだめ。
sendmail( $email, +{ to => ['really-bad-address.....@example.com', 'ccccccc@example.com'], }, );
これでいけた。
KeyRemap4Macbook で Option を Command に入れ替えつつ空打ちで「英数/かな」としても使う
Mac でマジェスタッチを使うと Command と Option の位置が逆で辛いので KeyRemap4Macbook の private.xml に以下の設定を書いた。
- Option L + 何か他のキーを押すと Command L + 他のキー
- Option L 空打ちすると「英数」キー
- Option R + 何か他のキーを押すと Command R + 他のキー
- Option R 空打ちすると「かな」キー
になる。これと左右の Command を Option に入れ替える設定を有効にしてる。
<?xml version="1.0"?> <root> <item> <name>Option を Command に入れ替えつつ空打ちで「英数/かな」としても使う</name> <identifier>private.swap_opt2command_and_eisuukana</identifier> <autogen>--KeyOverlaidModifier-- KeyCode::OPTION_L, KeyCode::COMMAND_L, KeyCode::JIS_EISUU</autogen> <autogen>--KeyOverlaidModifier-- KeyCode::OPTION_R, KeyCode::COMMAND_R, KeyCode::JIS_KANA</autogen> </item> </root>