Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
13
Help us understand the problem. What is going on with this article?
@tomoeine

Amazon SNSを使い、RailsからSMSを送信する

More than 1 year has passed since last update.

SMSでワンタイムパスワードを送りたかったのでやってみました。
Amazon SNS(Simple Notification Service)を使うと、1通1円前後とお手軽価格で送信できます😆
料金を大幅に勘違いしてました。。申し訳ありません。
1通7〜10円前後です。
料金表
Enter your country / region 欄にJapan を入力すれば、国内の料金がわかります)

SMSを送ってみよう!

SMSの設定

SNSコンソール(https://console.aws.amazon.com/sns/v2/home )にアクセスします。
メニュー内の テキストメッセージング(SMS) から、テキストメッセージングの設定管理 へ。
image.png
デフォルトのメッセージタイプをトランザクションを選択し、
デフォルトの送信者IDに任意の英数字を入力しておきます。
(これがSMSの送信者欄に表示されると思ったんだけど・・・うまくいかなかった🤔)
他はとりあえずそのままでOKです。

IAMユーザーの設定

AmazonSNSFullAccess をアタッチしたIAMユーザーを用意し、
アクセスキーIDとシークレットアクセスキーを控えておきます。

Gemを入れる

aws-sdkが入っていなければ、追加しましょう!
Gemfileに以下を追記し、 bundle install します。

gem "aws-sdk-rails"

SMS送信

clientを作って・・・

client = Aws::SNS::Client.new(
  access_key_id: "<アクセスキーID>",
  secret_access_key: "<シークレットアクセスキー>",
  region: "ap-northeast-1"
)

phone_numberには、日本なら+81から始まる国際電話番号を指定します。
0から始まる電話番号から変換する場合、PhonyRailsを使うと簡単です😀
https://github.com/joost/phony_rails

      client.publish({
                       phone_number: "<+81901xxxxx33>",
                       message: "シークレットやで",
                       subject: "",
                     })

自分のスマホで無事受信!
いともあっさり簡単でした。

本番で運用するなら?

上限引上を申請しよう!

デフォルトでは、1ヶ月あたりの送信上限が1USDに設定されています。
AWSサポートへ、上限引上の申請を行いましょう。
翌営業日には、申請した100USDに引き上げてもらえました😀

13
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
tomoeine
宮崎の山の中でリモートフリーランス🌴 Laravel, Rails, Vue.js など。 宮崎のWeb系フリーランス集団"てげほげ"所属で勉強会の企画・運営してます。宮崎のエンジニア盛り上げたい💪 ゆるくスケジュール共有するゆるすけ→https://yurusuke.com

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
13
Help us understand the problem. What is going on with this article?