サーバーの状態をメールで受け取ったりできたら良いな
って言ってたら友人が教えてくれたMandrillを使えるまでのお話
0.環境
- Ubuntu 14.04 LTS
- お名前.com(ドメイン登録サービス)
1.アカウント取得
- まずはアカウント取得
サービス自体は”MailChimp”という会社が運営
なのでその会社のアカウントが必要
https://login.mailchimp.com/signup/ - アカウント作成ができたらMandrillへログイン
https://mandrillapp.com/login/ - とりあえずこれでサービス自体は使える
2.Sending Domainsの設定
- 次に送信元ドメインを設定する
- これが地味に大変だった
- 項目は3つ
一、Verified Domain
- ドメインの認証です
- 実は独自ドメインでメールを受信できる状態じゃなかったので
- 友人が独自ドメインでメールを受信できる環境を貸してくれて
- そこで認証させました
- 本来は!!!
- ドメイン登録サービスでMXとかTXTとかレコード設定して
- メール受信できるようにして
- Verified Domainでメールを送って
- 届いたメールのURLをクリックして認証させる
- という手順が必要です
余談ですが、独自ドメインを登録できるメールサービスって
以前はGoogle appsとかOutlook.comとか無料でできたのに
今はinbox.com
というサービスが有名らしいですね
見た目が古代のYahooっぽくてとても独特ですが。
二、DKIM Settings
- メールサービスの認証では一般的?らしいです
- 初めてだったから戸惑った
- 要は指定の内容をDNSレコードに設定しといて!
- ってことらしいです
- View DKIM/SPF Setup Instructions
- ってボタン押すと設定するテキストが出てきます
- mandrill._domainkey.<yourdomain.com> レコードに入力
- ここはわかりやすかった
三、SPF Settings
- これも一般的な認証だそうです
- TXTレコードに追加するんですが、
- 使ったのがお名前.comだったので ?all ではなく ~all
- ちゃんと入力したら問題なく認証されました
3.APIキーの取得
- SMTP & API Credentials
- アクセスし + New API Key ボタンを押す
- Create API Keyで簡単に作れます
4.API叩くスクリプトを書く
- 今回はRubyがちょうど入っていたので手軽にRubyで
- Ruby用のライブラリをMandrillが公開してる
- Mandrill API Documentation - Ruby
- gem install mandrill-api
- でサクッと入れた
mandrill_sample.rb
require 'mandrill'
m = Mandrill::API.new '<API_Key>'
message = {
:subject=> "Hello from the Mandrill API",
:from_name=> "Your name",
:text=>"Hi message, how are you?",
:to=>[
{
:email=> "<MAIL_TO>",
:name=> "Recipient1"
}
],
:html=>"<html><h1>Hi <strong>message</strong>, how are you?</h1></html>",
:from_email=>"hoge@<yourdmain.com>"
}
こんな感じのサンプルを改変した内容で
$ ruby mandrill_sample.rb
実行させる
status = sent が返ってくれば完了
# おつかれさまでした
今回メールサーバ関係のこと
契約中のプロバイダがメールサーバーを建てれないようにしていた
など、色んなことが勉強できました
Mandrillはこれからもっと活用していきたいなと思います。
ありがとうございました。