DirectMailの利用設定をする

Posted on 2020/08/11

ToC

Alibaba DirectMail

DirectMailは、Alibaba Cloudが提供するメール送信のマネージドサービスで管理に手間のかかるメール送信の機能を 安定的にスケールを確保した形で提供されるクラウドサービスです。
AWSで言うところのSES(Simple Email Service)に対応する機能で、2020年8月現在、インターナショナルサイトアカウントでは Alibabaの3つのリージョン(杭州、シンガポール、シドニー)にて利用できます。

DirectMailサービスの利用開始

DirectMailは、初期状態では利用できません。
利用には、Rootアカウントで利用許諾を行いサービスの利用開始を行う必要があります。 利用料金が気になるところですが、2020年8月現在はPay-As-You-Go (PayAs)の従量課金だと1000メールあたり0.29USDと なっていました。また、はじめの200メールは無料なので、機能確認で使うレベルであれば、無料〜30円程度で概ねの確認はできるレベル かと思います。

/posts/2020/08/img/ef11bb12_hu72a519dd1e7f5ca51c9fb58c1b610a53_42836_450x0_resize_lanczos_3.png

なお、3つのリージョンでDirectMailのサービスは提供されていますが、杭州リージョンで利用するためには個人認証が要求されます。 今回は個人認証の情報登録が不要なシンガポールリージョンを利用しました。

Emailドメインの作成

DirectMailで利用するEmailドメインを登録します。
DirectMailのダッシュボードのEmail Settings > Email Domainsから New Domain を選択して 登録対象のドメインを登録します。

/posts/2020/08/img/aa63ecbc_huf36a70d4bf99d4ff5c167a9f58d5142e_16753_450x0_resize_lanczos_3.png

登録の際には、会社のドメインではなくサブドメインを作成することを推奨しますとの注意書きが表示されていたので、 今回はexample.tokyoのサブドメインであるm.example.tokyoとして登録しました。

Emailドメインを登録すると次にDNSへのレコード登録が必要になります。
DNS登録レコードは、下記の4つあります。

  • [TXT] ドメイン所有の確認
  • [TXT] SPF(送信ドメイン認証)レコード
  • [MX] メールサーバーのMXレコード
  • [CNAME] メールサーバーのCNAMEレコード
/posts/2020/08/img/18f2b665_hu86525415a89de2011d27cc19421e3727_301790_650x0_resize_lanczos_3.png

Emailドメインの登録直後は、To Be Verified との表示になっています。

DNSへのレコード登録

DirectMailで登録を要求された4つのDNSレコードを登録していきます。
今回は、Alibaba DNSにドメイン登録のあるexample.tokyoのサブドメインとして情報を登録しようと思います。 ROSでサクッと登録してしまいましょう。
参考のテンプレートも下記に参考までに記載します。

ROSTemplateFormatVersion: '2015-09-01'

Parameters:
  DomainName:
    Type: String
    Description: Domain name
    Default: example.tokyo
  SubDomainName:
    Type: String
    Description: Sub Domain name
    Default: m
  OwnershipVerification:
    Type: String
    Description: Ownership Verification
    Default: ''
  SpfVerification:
    Type: String
    Description: SPF Verification
    Default: ''
  MxRecordVerification:
    Type: String
    Description: MX Record Verification
    Default: ''
  CnameRecordVerification:
    Type: String
    Description: CNAME Record Verification
    Default: ''
  CnameRecordHost:
    Type: String
    Description: CNAME Record Host
    Default: 'dmtrace'

Resources:
  OwnershipTxtRecord:
    Type: 'ALIYUN::DNS::DomainRecord'
    Properties:
      RR:
        'Fn::Sub': aliyundm.${SubDomainName}
      DomainName:
        Ref: DomainName
      Value:
        Ref: OwnershipVerification
      TTL: 600
      Line: default
      Type: TXT
  SpfTxtRecord:
    Type: 'ALIYUN::DNS::DomainRecord'
    Properties:
      RR:
        Ref: SubDomainName
      DomainName:
        Ref: DomainName
      Value:
        Ref: SpfVerification
      TTL: 600
      Line: default
      Type: TXT
  MxRecord:
    Type: 'ALIYUN::DNS::DomainRecord'
    Properties:
      RR:
        Ref: SubDomainName
      DomainName:
        Ref: DomainName
      Value:
        Ref: MxRecordVerification
      TTL: 600
      Priority: 10
      Line: default
      Type: MX
  CnameRecord:
    Type: 'ALIYUN::DNS::DomainRecord'
    Properties:
      RR:
        'Fn::Sub': ${CnameRecordHost}.${SubDomainName}
      DomainName:
        Ref: DomainName
      Value:
        Ref: CnameRecordVerification
      TTL: 600
      Line: default
      Type: CNAME

Outputs:
  OwnershipTxtRecord:
    Description: Ownership TXT Record Id
    Value:
      'Fn::GetAtt':
        - OwnershipTxtRecord
        - RecordId
  SpfTxtRecord:
    Description: Spf TXT Record Id
    Value:
      'Fn::GetAtt':
        - SpfTxtRecord
        - RecordId
  MxRecord:
    Description: MX Record Id
    Value:
      'Fn::GetAtt':
        - MxRecord
        - RecordId
  CnameRecord:
    Description: CNAME Record Id
    Value:
      'Fn::GetAtt':
        - CnameRecord
        - RecordId

Emailドメインの登録確認

DNSの登録後、5分から10分程度待つとDirectMailのサービスがDNSの登録状態を確認します。
確認処理が進まないときは、コンソール上でVerifyのリンクをクリックすると良いかもしれません。 DNSレコードの確認が完了すると、先程までTo Be Verifiedと表示されていた各DNSレコードの状態が Verification successfulとグリーン表示され、4つのレコードがすべて確認されると Emailドメインの登録は完了となります。

メールの送信は次回に続きます。

参照