Qiitaやネット上のblogなどに出てくる記事が総じてv1で、そのまま書いただけではまったく動かなくて、少し詰まった。
ので数か月後の自分の為にメモ
Ruby 2.2.2
aws-sdk 2.1.15
での記事です。
ドキュメントを見る
公式のAWS SDK for Rubyを参照すると
まずクライアントの設定は以下の通り
Client
ses = Aws::SES::Client.new(
region: region_name,
credentials: credentials,
# ...
)
次にメール本体の設定については
send_email
resp = client.send_email({
source: "Address", # required
destination: { # required
to_addresses: ["Address"],
cc_addresses: ["Address"],
bcc_addresses: ["Address"],
},
message: { # required
subject: { # required
data: "MessageData", # required
charset: "Charset",
},
body: { # required
text: {
data: "MessageData", # required
charset: "Charset",
},
html: {
data: "MessageData", # required
charset: "Charset",
},
},
},
reply_to_addresses: ["Address"],
return_path: "Address",
source_arn: "AmazonResourceName",
return_path_arn: "AmazonResourceName",
})
という形になっている
実際に書いてみる
test_mail.rb
ses = Aws::SES::Client.new(
region: #SESを設定したRegion,
access_key_id: YOUR_ACCESS_KEY,
secret_access_key: YOUR_SECRET_KEY,
)
body_text = "メールやで"
subject = 'サブジェクトやで'
from_email = YOUR_ADDR
to_email = YOUR_ADDR
ses.send_email({
source: from_email,
destination: {
to_addresses: [to_email],
},
message: {
subject: {
data: subject,
charset: 'ISO-2022-JP',
},
body: {
text: {
data: body_text,
charset: 'ISO-2022-JP',
},
},
},
})
で何も詰まることなく届いた。
結論
大体の事はドキュメントを読むと数秒で終わるのでドキュメント読むのがいい