Alibaba Cloud のメール配信サービス DirectMail をちょっとさわってみた

#はじめに

本記事は[個人ブログ](https://blog.matsuda-yoshihiro.com/2020/05/alibaba-cloud-directmail.html)からの複製記事です。

---

パブリッククラウド環境ではメール送信サーバーが作れない、というのはよくある事ですがAlibaba Cloud でもやはりNGです。

そうした時には外部のメール送信サービスなどを使う場合も多いですが、Alibaba Cloud のサービスとしてもメール送信サービス（DirectMail）を提供しています。

今回は、DirectMail を触ってみたので簡単に使い方などを残してみます。

## DirectMail の基本

DirectMail の提供リージョンは`中国本土（杭州）`、`シンガポール`、`シドニー`となります。
中国本土からメール送信を行いたい場合は、杭州を使って送ることができそうですね。
日本からだとシンガポールリージョンを使うのが一番近いでしょうか。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/11547/335a0b08-8995-e042-2af3-6317e95a4827.png)

DirectMail は信用レベルに応じて利用可能な範囲が決まっています。
一番最初の状態だと`Daily quota:2,000(200 emails are free of charge.)`ということで、1日の上限が2000通までとなっています。
詳しくは[ドキュメント](https://www.alibabacloud.com/help/doc-detail/29418.htm)参照
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/11547/e5dbffa0-0085-604b-70ff-f14224e15b0b.png)

| Credit grade | Daily quota (emails) | Monthly quota (emails) |
|:--|:--|:--|
| Grade 1 | 500 | 15,000 |
| Grade 2 | 2,000 | 60,000 |
| Grade 3 | 5,000 | 150,000 |
| Grade 4 | 8,000 | 240,000 |
| Grade 5 | 10,000 | 300,000 |
| Grade 6 | 20,000 | 600,000 |
| Grade 7 | 50,000 | 1,500,000 |
| Grade 8 | 100,000 | 3,000,000 |
| Grade 9 | 200,000 | 6,000,000 |
| Grade 10 | 500,000 | 15,000,000 |

## DirectMail の料金

DirectMail の課金項目は`送信メール数`になります。

DirectMail の料金は従量課金で、1000通あたり`$0.29 USD`です。
毎日200通までは無料利用の範囲で利用可能です。
※`200 free email messages per day.`と記載があるので、毎日だと思いますがちょっと確認かな🤔

また、Alibaba あるあるのリソースパッケージ（前払いプラン）も提供しています。
購入パッケージの送信数を上限とした前払いプランになります。

| Resource package type | 価格 | 有効期間 | 節約額（対PAYG） |
|:--|:--|:--|:--|
| 50,000 emails | USD 13.05 | 6 months | > USD 1.45 |
| 500,000 emails | USD 121.8 | 6 months | > USD 23.2 |
| 1 million emails | USD 230.55 | 6 months | > USD 59.45 |
| 5 million emails | USD 1123.75 | 6 months | > USD 326.25 |

考え方としては、例えば`50,000 emails`購入した場合、6ヶ月間で50000通のメールを送信する権利を購入した事になります。
最初の1ヶ月で10000通送信した（無料分の200通を除いて）場合、残りの5ヶ月で40000通まで送信可能です。
※リソースパッケージを超えた部分に関しては従量課金での請求が発生します。

最新の情報は[製品ページ](https://www.alibabacloud.com/product/directmail/pricing)を参照

## DirectMail ドメイン構成の設定（必須）

最初にメールを送信するドメインを構成する必要があります。
「Email Domains」から`New Domain`で使用するドメインを登録します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/11547/70816cc5-8cdf-8cb6-fc30-08618e8dd5db.png)

今回はサブドメインを使用します。
もちろん、独自ドメインでも構いません。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/11547/fd4fd9d5-e657-755b-a83b-3fd58fc004b2.png)

`Configure`を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/11547/1d594d92-25ad-5617-dbcd-74362fc86372.png)

DNSの設定に必要なパラメータが表示されます。
下記の赤枠部分をドメインを管理しているDNSレコードに登録します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/11547/d1cd96d4-d857-2756-02fc-438a9090fcad.png)


## DNS設定

今回は Alibaba Cloud DNSで管理しているドメインだったので、こちらで設定を行います。
Alibaba Cloud DNS へのドメイン登録の手順は[この辺](https://www.alibabacloud.com/help/doc-detail/127149.htm#h2-procedure4)を参考にして下さい。
Alibaba Cloud DNS へのドメインの追加は簡単に出来て無料で利用可能です。

DirectMail を設定する対象のドメイン名の `Configure` を選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/11547/2dbb7bee-cd82-7a54-94d7-82d7defc67fc.png)

`Add Record` を選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/11547/a559d43b-92ad-4ac4-0320-b575e914b6ba.png)


Edit Record 画面で Direct Mail の Domain Configuration 画面で表示された情報を入力していきます。
※今回はサブドメイン（mail.xxx.com）を使用しているので一律`mail`というサブドメインを付加しています。
 
**1,Ownership Verification**

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/11547/66968d80-c16b-097a-e6b8-f98af4d6e566.png)

**2,SPF Verification**

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/11547/83f7a6a6-55ce-cf86-b3b5-14cb8cd63fd3.png)

**3,MX Record Verification**

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/11547/4fd38c21-6268-0c18-7e10-c8fe72b8561e.png)

**4,CNAME Record Verification**

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/11547/ea484206-ead2-c365-461a-c3cd99e58b84.png)

入力完了後の画面は以下の様になります。
※今回はサブドメイン（mail.xxx.com）を使用しているので一律`mail`というサブドメインを付加しています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/11547/21e2c745-aef1-32a9-fa16-faf3636e45af.png)

## DirectMail ドメイン構成の設定（続き）

`Cancel` で前の画面に戻ります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/11547/ecbd3871-4bfe-c046-299c-7ae0841876de.png)

ステータスが「To Be Verified」であれば `Verify` を選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/11547/490701a4-a15e-e307-b35a-2a87f12e33b4.png)

`Confirm` を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/11547/25c550bd-26b3-fb15-417e-ebe819e81b31.png)

ステータスが「Verification successful」となっていれば DirectMail のドメインの構成は完了です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/11547/bb88b779-f610-7d8f-a60f-b64e4e5b8014.png)

## DirectMail 送信元アドレスの設定

「Sender Addresses」から`Create Sender Address` を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/11547/ea60eefb-10ef-3c7a-9cc6-9a86efab669d.png)

以下の様な画面で送信元メールアドレスの設定を行います。
送信元メールアドレスは「`Account` @ `Email Domains`」の様な形になります。
`Reply-To Address`は送信したメールの返信先として使われます。
`Mail Type`は「Triggered」と「Batch」の二つのタイプから選択します。
- Email Domains
- Account
- Reply-To Address
- Mail Type

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/11547/97b42f08-586e-6a6c-db48-1383e76b810d.png)

送信元メールアドレスを設定すると以下の様に登録アドレスが表示されます。
`Edit the return address`で Reply-To Address の設定を変えることが可能です。
`Set SMTP password` では SMTP 利用時のパスワードを設定します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/11547/7c93b67c-c24b-d46d-ad7e-91aaeaaf7a0a.png)

## DirectMail メールタグの作成（オプション）

DirectMail で一括送信メール（バッチメール）を送信する際に必要になります。
タグにより送信したメールの分類などを行います。

「Email Tags」から `Create Email Tag` を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/11547/ea2a0ad4-870d-03d8-e42b-ca7e43d2fc94.png)

タグの名前を入力して`OK`を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/11547/867ec760-628d-0262-5bd2-d97b4e947da0.png)

作成したタグが表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/11547/36dd65df-0035-5320-d476-a4df68fa5e3b.png)

## DirectMail メールテンプレートの作成（オプション）
Alibaba Cloud の管理コンソール又はAPIから DirectMail で一括送信メール（バッチメール）を送信するにはメールテンプレートが必要になります。

メールテンプレートの利用には Alibaba Cloud の審査が必要で１−３営業日かかる様です。

「Email Templates」から`Create Email Template`を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/11547/a8534cf9-70da-6005-f284-995f5f04e99d.png)

テンプレートの内容を入力して`Save`を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/11547/26b9bd1e-77d8-2498-4788-8d977248028b.png)

作成したテンプレートは「Draft」の状態なので、問題なければ`Submit to Review`を選択して審査に出します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/11547/2840e3a3-0013-1a93-d915-fb46c0bd8a74.png)

`Confirm`を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/11547/ce8f703a-9549-3ac1-fff4-1c5dde724d00.png)

「Review passed」となっていたら利用可能です。
※今回は文字数とか文言とかでテスト用と判断されたのか一瞬で`Review Passed`になりました😅
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/11547/ea4fe648-aae3-de69-95cf-36e6be23cec9.png)

## DirectMail 受信者リストの作成（オプション）

受信者リストは、DirectMail で一括送信メール（バッチメール）に使用される宛先アドレスのリストです。

「Recipient Lists」から`New Recipient Lists`を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/11547/752f8836-c81d-cfd0-4b56-d6878bb87556.png)

以下の項目を入力します。
- List Name
- Alias Address
- Description
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/11547/278ceb1f-330a-6278-d9eb-e30f434179e7.png)

リストが作られたので`Upload`を選択してリストにアドレスを登録します。
登録はテキストファイル又はCSVファイルのアップロードによって実施します。
形式はドキュメントの[Create recipient lists](https://www.alibabacloud.com/help/doc-detail/57125.htm)を参照、又は画面のExampleからサンプルをダウンロードします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/11547/5efbbfb5-4afa-9f54-4df6-f296c2e4dd09.png)

アップロードに成功すると`Details`が表示されるので登録したアドレスが確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/11547/a0703964-165c-c677-8ca3-dc84818d8436.png)

「Details」からアドレスの確認、削除、追加が可能です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/11547/6086d254-e781-3264-ee4a-e249b44a00c2.png)

## DirectMail コンソールからのメール送信（オプション）

「Email Tasks」から`Create Email Task`を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/11547/16eb9342-31cb-52ae-9344-cefa35625dbe.png)

以下の各項目を選択して`Send`を選択します。
「Sender Address Type」は`Random Address`と`Sender Addresses`から選べます。
「Random Address」はランダム文字列と`Sender Addresses`を組み合わせたアドレスが生成されます。
- Recipient Lists
- Template Name
- Sender Addresses
- Sender Address Type
- Email Tags
- Recipient Tracking
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/11547/535ebc77-8537-3dd6-2b6f-255efdd950d5.png)

`Sent successfully`と表示されれば送信成功です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/11547/c97a0981-d069-ecb3-142d-49e5a5d0c5c1.png)

送信したメールを確認すると無事に届いていました。
サブジェクトや本文も日本語を使いましたが問題なく表示されていますね。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/11547/c07fbac6-f0c3-2f9f-8c85-dc4ec19d6e62.png)


## DirectMail コンソールから送信レポートの確認

「Delivery Overview」から送信レポートを確認できます。
トータルの送信数、送信成功数などが確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/11547/99b55601-17f1-0ed7-e8d3-8cbf064529e8.png)

「Recipient Tracking」のタブでメールの状況追跡（開封、クリックの確認）が可能です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/11547/ff0b6609-9b28-396b-82e9-7a625a3d6f67.png)


「Delivery Log」から各アドレスへのメール送信の成功、失敗などが確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/11547/c4d2bcb6-6e57-307c-d142-ff018ebfe1b5.png)