0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

blastengineのGo SDKを使ってメール送信を行う

Posted at

blastengine(ブラストエンジン)はシンプルに使える開発者向けメールサービスを提供しています。何かと面倒なメール配信をシンプルに、かつ確実に送信先へ届くようになります。

現在、Go言語向けに、blastengine SDKを開発しています。今回は、即時配信メール(トランザクションメール)の送信方法を解説します。

ユーザ登録する

blastengineにユーザ登録します。管理画面に入るためのユーザID、パスワードが手に入るので、ログインします(ユーザIDは後で使います)。

送信元ドメインのSPFを設定する

送信元として利用するドメイン(自分で持っているもの)の設定をします。これは任意のドメイン管理サービスで設定できますが、TXTレコードに以下のSPFを追加します。

txt @ v=spf1 include:spf.besender.jp ~all

APIキーを取得する

ログイン後、管理画面の右上にある設定メニューに移動します。

getting-started-6.jpg

そして設定の中で、APIキーを取得します。

getting-started-5.png

必要な情報について

SDKを使う上で必要なのは、先ほどのAPIキーとユーザIDになります。

SDKのインストール

SDKはblastengineMania/blastengine-go: Blastengine Golang SDKにて公開しています。インストールは go get で行います。

go get github.com/blastengineMania/blastengine-go

初期化

先ほどのAPIキーとユーザIDを使って初期化します。

package main

import (
	"fmt"
	"github.com/blastengineMania/blastengine-go"
)

func main() {
	apiKey := "yourApiKey"
	userId := "yourUserId"
	client := blastengine.Initialize(apiKey, userId)
}

トランザクションオブジェクトの作成

メールを即時配信する際にはトランザクションオブジェクトを使います。

transaction := client.NewTransaction()

必要な情報をセットする

続けて、トランザクションオブジェクトに必要なオブジェクトをセットします。

transaction.SetFrom("from@example.com", "Sender Name")
transaction.SetTo("to@example.com")
transaction.SetSubject("Test Subject")
transaction.SetTextPart("This is a text part")
transaction.SetHtmlPart("<p>This is an HTML part</p>")

後は Send メソッドで送信できます。

err := transaction.Send()
if err != nil {
  fmt.Println("Failed to send transaction:", err)
} else {
  fmt.Println("Transaction sent successfully")
}

送信成功した場合は transaction.DeliveryId に送信IDが入ります。失敗した場合には、例外処理になります。

transaction.DeliveryId

コードについて

コードはGitHubにアップしてあります。ライセンスはMIT Licenseになります。

blastengineMania/blastengine-go: Blastengine Golang SDK

まとめ

blastengineには他にも一括メール配信を行ったり、添付ファイル付きのメール配信機能などもあります。これらの機能も随時実装していきますので、ぜひ皆さんのシステム開発に役立ててください。

エンジニア向けメール配信システム「ブラストエンジン」

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?