node-mailを使ったときに起きた問題

node-mailを使ってAWS SES経由でメールを送ろうとしたら色々とエラーが出たのでメモ
node.jsでメールを送るために、node-mail(https://github.com/weaver/node-mail)とSMTPサーバとしてAWS SES(http://aws.amazon.com/jp/ses/)を使ってみたのですが、どうもエラーが出る。

はじめの対応としては基本的に、
 http://blog.araishi.com/node-js-mail-sender/
 http://blog.newtstudio.jp/post/node-mail
この辺の記事の通りにやって解消。
node側の更新に追従してないのか……?

しかしこれらをやっても、
「454 TLS not available due to temporary reason: TLS already active」
とか出て怒られる

どうやら
https://github.com/weaver/node-mail/blob/master/lib/smtp.js#L211
STARTTLSが二回呼ばれているせい
"already active"ならスルーしてくれれば良いのにと思ってしまうが……。
これがどこで呼ばれているかよく分からず、とりあえずここでぶつかってないで他の実装したいので、簡単に二回目はSTARTTLSを叩かないようにごまかす感じに書き換えたら動いた。


AWS SES使ったのはSMTPサーバの立て方がわからないからだったけど
シンプルなものをローカルに立てるなら
https://github.com/andris9/simplesmtp
これで出来そう


なんかSESの利用料が1セント請求されていると思ったら、開発環境のEC2外で行っていたからだった……。