メインコンテンツまでスキップ

Kurocoからのメール送信に任意のメール配信サービスを使用する(Mailchimp)

概要

トリガ「デフォルトのメール送信方法(SendGrid)を代替」を利用すると、SendGridの代わりに、blastengine、Mailchimp、Amazon SESなどの任意のメール配信サービスを利用して、通知や招待のメールを送信できます。

本チュートリアルではその例として、SendGridによるメール送信をMailchimpに代替する手順を紹介します。

学べること

以下の手順で任意のメール配信サービスを使用したメール送信を実装します。

前提条件

備考

本チュートリアルではメールの送信にMailchimpのTransactional APIを使用します。
サービスの詳細はMailchimpとそのAPIドキュメントを確認してください。

また、SPF/DKIMの設定をするのでfromのメールに使用するドメインは自身が所有しているものを利用することとします。

Mailchimpの設定

アカウント登録

まずはMailchimpにアクセスして、アカウント登録します。

Image from Gyazo

APIキーの取得

アクティベートが完了し、アカウントにログインしたら[Automations]->[Transactional email]から[Launch App]をクリックしてダッシュボードにアクセスします。

Image from Gyazo

[Settings]をクリックします。

Image from Gyazo

[Add API key]をクリックします。

Image from Gyazo

APIキーが表示されるのでメモします。

送信ドメインの追加

次に、メールの送信元となるドメインを追加し、認証及び、SPF/DKIMを設定する必要があります。

[Domains]タブをクリックし、送信元となるドメインを入力して[Add]をクリックします。

Image from Gyazo

追加したドメインと、ドメインの使用に必要な設定が表示されるので、[View details][View DKIM settings][View SPF settings]をクリックして、必要なDNSを設定します。

Image from Gyazo

Verified Domain

ドメインの認証はドメインのTXTレコードに指定された値を設定します。

Image from Gyazo

DKIM Settings

DKIMは指定されたセレクタ._domainkey.ドメイン名のTXTレコードに指定された値を設定します。

Image from Gyazo

注意

VALUEの長さが設定できる文字数を超える場合はTXTレコードを分割して登録する必要があります。
対応が必要な場合はドメイン管理サービスに問い合わせて設定してください。

SPF Settings

SPFレコードはドメインのTXTレコードに指定された値を設定します。

Image from Gyazo

それぞれ設定すると以下のようになります。
※キャプチャはお名前ドットコムの場合の例です。

Image from Gyazo

[Test DNS Settings]をクリックして、全ての認証が確認できたら設定は完了です。

Image from Gyazo

注意

MailChimpのFreeプランでは、送信ドメインに登録されて、全ての認証が完了したドメインに対してのみメールの送受信が可能です。
全てのメールアドレス宛への送信を許可する場合は有料プランを契約してください。

Kurocoの設定

シークレットを登録する

Kurocoの管理画面にアクセスし、[環境設定] -> [シークレット]をクリックします。

Image from Gyazo

[追加]をクリックします。

Image from Gyazo

Mailchimpのダッシュボードで確認したAPIキーとを登録します。

項目
名前MAILCHIMP_API_KEY
MailchimpのAPIキー

Image from Gyazo

以上でMailchimpを利用する準備が整いました。

カスタム処理を登録する

Mailchimpを利用する準備ができたら、SendGridによるメール送信をMailchimpに代替するカスタム処理を書きます。

[オペレーション] -> [カスタム処理]をクリックします。

Image from Gyazo

[追加]をクリックします。

Image from Gyazo

以下のように設定します。

項目
タイトルsending_email_with_mailchimp
識別子sending_email_with_mailchimp
トリガデフォルトのメール送信方法(SendGrid)を代替
処理以下の内容
sending_email_with_mailchimp
{* 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の部分は自身のメールアドレスに変更してください。

Image from Gyazo

入力ができたら[追加する]をクリックしてカスタム処理を追加します。

動作の確認

実際にKurocoからのメールを送信してみます。
動作の確認のため、パスワードリマインダーを使用してみます。

Kurocoのログイン画面にアクセスし、[パスワードを忘れた場合はこちら]をクリックします。

Image from Gyazo

メールアドレスを入力して、[送信する]をクリックします。

Image from Gyazo

注意

Freeプランを利用している場合、宛先のメールアドレスはMailchimpの送信ドメインで認証したドメインである必要があります。

MailchimpのActivityを確認すると、Mailchimpからメールが送信されたことが分かります。

Image from Gyazo

以上で、任意のメール配信サービスを利用する設定は完了です。

関連ドキュメント


サポート

お探しのページは見つかりましたか?解決しない場合は、問い合わせフォームからお問い合わせいただくか、Slackコミュニティにご参加ください。