参考: http://akasata.com/articles/293
ここを参考にしてみたんですが、NKF使ってutf8に変換してるのに、 ISO-2022-JP指定していたりして、謎だったので、素直に何もせずに送信してみたらうまく動いたので残す。
→よく見たら -w
じゃなくて -jw
ですね。ソース見たらISO-2022-JPになってるようなのでウソでした。すみません。
あと、SESはregionが限られてるので、SESだけ別regionはどうすんの?って思って調べたら AWS.configであっさりと動いたのでここも改善。かなりシンプルになりました。
もちろん受信したメールのソースも見ましたが、タイトルもMIMEエンコードされてるし、utf8指定されてるので、大丈夫そうでした。
蛇足:まさか今さらISO-2022-JP対応必須とか無いとは思いますが、必要ならリンク元のNKFのところをちゃんとiso-2022-jp変換にしてあげれば良いのでは無いかと。
AWS.config(
access_key_id: 'ACCESS_KEY_ID',
secret_access_key: 'SECRET_ACCESS_KEY',
region: 'ap-northeast-1',
ses: { region: 'us-west-2' }
)
ses = AWS::SimpleEmailService.new
body_text = <<-EOS
こんにちは。
このメールはテストメールです。
おしまい
EOS
subject = 'サブジェクトです'
from_email = "test@from.com"
to_email = "test@to.com"
ses.send_email(
:subject => subject,
:to => to_email,
:from => from_email,
:body_text => body_text,
)