システムからメール送信を行う処理を実装することはよくあります。多くの場合、ローカルサーバからSMTPを使いますが、FaaSなどでSMTPポートがふさがれていることがあります。そうした時に便利なのがWeb API経由でのメール送信になります。
今回、非公式ではありますがVBAでCustomers Mail Cloudを手軽に使えるようにするSDKを更新しましたので、使い方を解説します。
コードについて
コードはgoofmint/Customers-Mail-Cloud-VBA: VBA(Excel)からCustomers Mail Cloudを実行します。にて公開しています。ライセンスはMIT Licenseで、自由に利用、改変可能です。
共通処理
初期化は次のように行います。
Dim client As clsCustomersMailCloud Set client = New clsCustomersMailCloud client.ApiUser = "API_USER" client.ApiKey = "API_KEY"
契約内容の設定
契約状態によってメソッドが異なります。
- トライアル
client.Trial - スタンダード
client.Standard - プロ
client.Pro subdomain
メール送信
Dim toAddress As clsCustomersMailCloudAddress: Set toAddress = New clsCustomersMailCloudAddress toAddress.Name = "User" toAddress.Address = "to@smpts.jp" client.AddTo toAddress Dim fromAddress As clsCustomersMailCloudAddress: Set fromAddress = New clsCustomersMailCloudAddress fromAddress.Name = "Admin" fromAddress.Address = "info@example.com" client.SetFrom fromAddress client.Subject = "Test mail" client.Text = "Mail body"
今回、さらに以下のプロパティが使えるようになりました。
client.Html = "<h1>Hello</h1>" client.Headers.Add "X-API", "00001" Dim replyAddress As clsCustomersMailCloudAddress: Set replyAddress = New clsCustomersMailCloudAddress replyAddress.Name = "No-reply" replyAddress.Address = "no-reply@example.com" Set client.ReplyTo = replyAddress
そして、 Send メソッドで送信を行います。
client.Send
まとめ
現在はテキストとHTMLメールの送信のみサポートしています。添付ファイルは今後対応予定です。まず最も利用が多いであろうテキストメール送信について、ぜひご利用ください。
