Developer documentation
Back to index

独自のメールサーバーの利用

ここに掲載されている内容は、開発者用の技術情報です。
掲載内容以上のサポートはできません。
ご利用にあたっては十分なご理解の上で活用ください。
SuperSaaSは開発中を含むwebhookとAPIを提供するもので、それを利用するサービス、アプリケーションに責任を持つことはできません。

SuperSaaSのメールサーバーは自由で信頼性がありますが、それを用いらずに、独自のメールサーバーを活用することができます。
独自運用下より配信することで、内容や発信の管理も柔軟になり、配信の信頼性を高めることが可能です。

独自のメールサーバーを用いるメリット

  • メールヘッダを管理できます
    配信されるメールのヘッダーは配信元であるSuperSaaSによって生成され、それを編集することはできません。
    SuperSaaSをホワイトラベル利用(SuperSaaSの名前を隠した利用)の場合や、スパムフィルターを避けるために「Resent-From」を加えるなど、独自のメールサーバーであればヘッダ情報を自由に設定できます。
  • メールセキュリティポリシーに合わせることができます
    メールに関して厳格なセキュリティポリシーが監査執行されているなど、規定された送受信以外を規制している場合があります。
    独自のメールサーバーであれば、ドメイン設定から、DNS、DKIMなどの認証に合わせた柔軟な設定が可能です。
  • 配信メールを保存、活用ができます
    Gmailのメールサーバーのサービスには、送信されたすべてのメールのコピーを保持するサービスがあります。
    独自メールサーバーとして、発信された内容を保存することで事後確認や蓄積利用が可能になります。
  • 配信メールの追跡調査ができます
    Mandrillのメールサーバーのサービスには、発信メールにトラッキングリンクや開封確認が行えるサービスがあります。
    より便利で、拡張性のあるメール運用が模索できます。

メールに関するwebhook

配信メールが生成される時点でトリガーする「メール配信webhook」を用いてメールサーバーと連携して活用できます。
「メール送信webhook」は、生成されたメール内容と、送信用のメールアドレスのリストを内包します。
他のアクション系のイベントwebhookも多数構築できますが、トリガーに関する対象にアクセスするためのもので、メール内容もメールアドレスも内包されません。
このページの情報は全てのメールを別のサーバーにリダイレクトすることを前提としていますので、特定のアクションをトリガーとしての活用は、ウェブフックに関する情報を参照してください。

「メールを送信webhook」を設定すると、SuperSaaSメールサーバーにから発信される全てのメールが中断停止となり、配信がwebhookに依存されます。
「メールを送信webhook」のみの処理で、その他のトリガーのwebhookでメールには影響を与えるものはありません。

webhookは、Zapier、またはIntegromatなどwebhookサービスで設定するか、SuperSaaSのwebhook画面で構築します。
簡単で手早く活用したい場合は、下記の例にmandrillのAPIを用いたクイックセットアップを掲載していますので参考ください。

ZapierやIntegromatでメールを送信

SuperSaaSのwebhookはおよそ標準的な内容となっていますが、必ずしも外部サービスと互換性があるとは言い切れませんし、外部サービス側から特殊な認証シークエンスなど応対できない場合もありますが、 Zapier.comIntegromat.comのように対応している場合は、プログラミングを必要とせずに、簡単な設定でwebhookを構築できます。
たとえば、「メールの発信」をトリガーに、そのメールの内容と宛先情報を、Gmail、Google Apps、SendGrid、などへリダイレクトするwebhookなどがごく簡単に構築活用することが可能です。

「zap(webhookを有効)」を有効にすると、はSuperSaaSの「メールを送信」webhookも有効になりますので、SuperSaaSメールサーバーからのメール送信が一時停止となります。
webhookを停止もしくは削除として「zap」が解除される配信が再開されます。

カスタムwebhookでメールを送信

この機能は、有料パッケージのご契約で利用可能となります。(試用中でも1週間の限定利用が可能です)

アカウント内のwebhook画面でwebhookを作成できます。
webhookを作成するURLエンドポイントを入力すると、トリガーされたときに送信するペイロードを編集できます。
デフォルトで、ペイロードにはJSONエンコードされた対象情報が格納されています。(内容はテストで確認ください)
カスタムとしている場合、JSONエディターから内容を編集することで、どの情報を送信するかを任意に構築ことができます。
JSONにはマジックワードを含めることができます。(下表参照)

マジックワード置換される内容(JSONエンコード)
$to送信先(To)用のメールアドレス配列に置き替わります。
$bccブラインドカーボンコピー先(BCC)用のメールアドレス配列に置き替わります。
$recipients送信先(To)用とブラインドカーボンコピー先(BCC)用の両方のメールアドレス配列に置き替わります。
$plainメッセージであるテキスト情報(存在しない場合は空白)に置き替わります
$htmlメッセージであるHTML情報(存在しない場合は空白)に置き替わります
$bodyコンテンツタイプで指定されたテキスト、もしくは、HTMLのメッセージに置き替わります。
$content_typeコンテンツタイプ(html/plain)に置き替わります。
$raw添付ファイルとメッセージを含めたMIMEエンコードバージョンに置き替わります。
$attachment添付ファイルに置き替わります

複数の受信者を含むリマインダメールは、プライバシー上の理由からBCCを用いており、その際、宛先のToを空のままSuperSaaSから送信されます。
連携するAPIによっては宛先のToに何も情報がない場合、問題が生じる可能性があります。
この場合、$recipientsもしくは、$bcc$toの両方を宛先のToに設定し、送信側の仕組みとして送信先のメールアドレスを隠すプログラムを構築してください。

例: Mandrill.comを用いたメールの配信

Mandrillは、トランザクション型電子メール配信を専門とするサービスです。
クリックトラッキングなどの高度な機能が提供されています。

MandrillのAPIを作成

Mandrillアカウントにサインアップし、Settings画面の、+ New API Keyボタンをクリックしますすると、APIキーが生成発行されますのでコピーして記録してください。

SuperSaaSのメールをMandrillにリダイレクト

新しいWebhookを構築するためSuperSaaSアカウント内のWebhook画面に移動します。
トリガーの 「メール配信」を選択し、 「Target URL」ボックスに下のURLを入力し、webhookを登録します
https://mandrillapp.com/api/1.0/messages/send-raw.json
Customを選択し、次のようにJSONスニペットを編集します。

	{
	  "key": "MANDRILL_API_KEY",
	  "raw_message": "$raw",
	  "from_email": "sender@example.com",
	  "from_name": "Your Name",
	  "to": "$recipients"
	}
	

MANDRILL_API_KEYの箇所は、先ほどMandrillアカウントで生成したキーに置き換え、from_emailfrom_nameの値も妥当なものとしてから、webhookを更新してください。
ペイロードチェックとしてのメールアドレスバリデーションはEdit iconからWebhookをテストできます
バリデーションに問題がなければ、webhookの設定は完了です。メールを生成するアクションをいつでも実行することが可能です。

最後に確認として、Mandrillアカウントの「Outbound」画面をチェックして、正しく配信されていることを確認してください。
迷惑メールフィルタ対策の信頼性の向上のため、ドメイン上のSPFとDKIMの設定に関するMandrillのドキュメントを読むこともできます。