Kurocoからのメール送信に任意のメール配信サービスを使用する(Mailchimp)
概要
トリガ「デフォルトのメール送信方法(SendGrid)を代替」を利用すると、SendGridの代わりに、blastengine、Mailchimp、Amazon SESなどの任意のメール配信サービスを利用して、通知や招待のメールを送信できます。
本チュートリアルではその例として、SendGridによるメール送信をMailchimpに代替する手順を紹介します。
学べること
以下の手順で任意のメール配信サービスを使用したメール送信を実装します。
前提条件
SendGridを利用しない場合、配信のトラッキング機能(配信、メールバウンス、開封率、クリック数)はご利用できませんのでご注意ください。
Mailchimpの設定
アカウント登録
まずはMailchimpにアクセスして、アカウント登録します。
APIキーの取得
アクティベートが完了し、アカウントにログインしたら[Automations]->[Transactional email]から[Launch App]をクリックしてダッシュボードにアクセスします。
[Settings]をクリックします。
[Add API key]をクリックします。
APIキーが表示されるのでメモします。
送信ドメインの追加
次に、メールの送信元となるドメインを追加し、認証及び、SPF/DKIMを設定する必要があります。
[Domains]タブをクリックし、送信元となるドメインを入力して[Add]をクリックします。
追加したドメインと、ドメインの使用に必要な設定が表示されるので、[View details][View DKIM settings][View SPF settings]をクリックして、必要なDNSを設定します。
Verified Domain
ドメインの認証はドメインのTXTレコードに指定された値を設定します。
DKIM Settings
DKIMは指定されたセレクタ._domainkey.ドメイン名
のTXTレコードに指定された値を設定します。
VALUEの長さが設定できる文字数を超える場合はTXTレコードを分割して登録する必要があります。
対応が必要な場合はドメイン管理サービスに問い合わせて設定してください。
SPF Settings
SPFレコードはドメインのTXTレコードに指定された値を設定します。
それぞれ設定すると以下のようになります。
※キャプチャはお名前ドットコムの場合の例です。
[Test DNS Settings]をクリックして、全ての認証が確認できたら設定は完了です。
MailChimpのFreeプランでは、送信ドメインに登録されて、全ての認証が完了したドメインに対してのみメールの送受信が可能です。
全てのメールアドレス宛への送信を許可する場合は有料プランを契約してください。
Kurocoの設定
シークレットを登録する
Kurocoの管理画面にアクセスし、[環境設定] -> [シークレット]をクリックします。
[追加]をクリックします。
Mailchimpのダッシュボードで確認したAPIキーとを登録します。
項目 | 値 |
---|---|
名前 | MAILCHIMP_API_KEY |
値 | MailchimpのAPIキー |
以上でMailchimpを利用する準備が整いました。
カスタム処理を登録する
Mailchimpを利用する準備ができたら、SendGridによるメール送信をMailchimpに代替するカスタム処理を書きます。
[オペレーション] -> [カスタム処理]をクリックします。
[追加]をクリックします。
以下のように設定します。
項目 | 値 |
---|---|
タイトル | sending_email_with_mailchimp |
識別子 | sending_email_with_mailchimp |
トリガ | デフォルトのメール送信方法(SendGrid)を代替 |
処理 | 以下の内容 |
{* Set Request Headers *}
{append var=headers value="Content-Type: application/json"}
{* Set Body *}
{assign var='payload' value=$payload|@json_decode}
{assign_array var='body' values=""}
{secret var='body.key' key='MAILCHIMP_API_KEY'}
{assign var='body.message.from_email' value="noreply@kuroco-mail.app"}
{assign var='body.message.subject' value=$payload.subject}
{assign var='body.message.text' value=$payload.text_part}
{assign_array var='to' values=""}
{assign var='to.email' value=$payload.to}
{assign var='to.type' value="to"}
{append var='body.message.to' value=$to}
{* Send Request *}
{api
endpoint="https://mandrillapp.com/api/1.0/messages/send"
method='POST'
headers=$headers
body=$body
var=response
status_var=status
}
{logger msg1="mailchimp_mail_log" msg2=$body msg3=$response}
{assign var="is_mail_sent" value=true}
noreply@kuroco-mail.app
の部分は自身のメールアドレスに変更してください。
入力ができたら[追加する]をクリックしてカスタム処理を追加します。
動作の確認
実際にKurocoからのメールを送信してみます。
動作の確認のため、パスワードリマインダーを使用してみます。
Kurocoのログイン画面にアクセスし、[パスワードを忘れた場合はこちら]をクリックします。
メールアドレスを入力して、[送信する]をクリックします。
Freeプランを利用している場合、宛先のメールアドレスはMailchimpの送信ドメインで認証したドメインである必要があります。
MailchimpのActivityを確認すると、Mailchimpからメールが送信されたことが分かります。
以上で、任意のメール配信サービスを利用する設定は完了です。
関連ドキュメント
サポート
お探しのページは見つかりましたか?解決しない場合は、問い合わせフォームからお問い合わせいただくか、Slackコミュニティにご参加ください。