######################################################################
# All Rights Reserved, Copyright FUJITSU LIMITED 2015-2018
#
# API実行サンプル名:
# 07-001_メール配信サービス(メールアドレス指定)
#
# 内容:
# メールアドレスを送信元IDに指定したメール配信サービスの利用手順です。
#
# 版数:v1.4
# 更新日:2020/06/11
#
#
######################################################################
手順:
───────────────────────────────────
項番1.送信元IDの登録
項番2.送信元IDの確認
項番3.送信元IDの検証状況確認
項番4.メール送信
項番4-1.メール送信1
項番4-2.メール送信2
項番4-2-1.メール文章作成例
項番4-2-2.メール文章変換例
項番4-2-3.メール送信2
参考1.メール送信上限値の確認
参考2.送信メールの統計情報取得
参考3.SMTPサーバユーザ作成
参考4.SMTPサーバユーザ情報取得
参考5.SMTPサーバユーザ削除
参考6.送信元IDの削除
───────────────────────────────────
事前準備:
あらかじめ以下を準備する必要があります。
───────────────────────────────────
・送信元に登録するメールアドレス
───────────────────────────────────
注意事項:
・メール配信サービスは「東日本リージョン1(jp-east-1)」を
利用開始した上で、「東日本リージョン1(jp-east-1)」のトークンを
使用して実施する必要があります。リージョンの利用開始については
[FJCSポータルユーザーズガイド]-[利用リージョン管理]を参照して下さい。
・送信先のメールアドレスは実在するメールアドレスを使用してください。
項番1.送信元IDの登録
事前に準備したメールアドレスを送信元IDとして登録し、メールアドレスを
所有していることを確認するための検証手続きを開始します。
注意事項:
・APIコマンドを実行すると、指定したメールアドレスに確認メールが
送信されます。メールに記載されているURLにアクセスすることで、
検証手続が完了します。
検証手続が完了していない場合は、指定したメールアドレスからの
メール送信はできません。送信元IDのステータス確認は項番3を参照
してください。
環境定義コマンド例:
======================================================================
# EMAIL=<送信元として指定するメールアドレス>
EMAIL=test@example.com
API実行コマンド例:
======================================================================
curl -Ss "https://mail.jp-east-1.cloud.global.fujitsu.com/?Action=VerifyEmailIdentity&EmailAddress=$EMAIL" -X POST -H "X-Auth-Token: $OS_AUTH_TOKEN" -H "Content-Type:application/x-www-form-urlencoded; charset=utf-8" -H "Accept:application/xml" | xmllint --format --encode utf-8 -
レスポンス例:
======================================================================
4a4fa33e-7f87-40fe-9fec-29b2c194ba24
======================================================================
項番2.送信元IDの確認
送信元IDとして指定したメールアドレスが登録されたことを以下のパラ
メータで確認します。
指定したメールアドレス
環境定義コマンド例:
======================================================================
# IDENTITY_TYPE=<送信元IDの種類(「EmailAddress」を指定)>
IDENTITY_TYPE=EmailAddress
API実行コマンド例:
======================================================================
curl -Ss "https://mail.jp-east-1.cloud.global.fujitsu.com/?Action=ListIdentities&IdentityType=$IDENTITY_TYPE" -X POST -H "X-Auth-Token: $OS_AUTH_TOKEN" -H "Content-Type:application/x-www-form-urlencoded; charset=utf-8" -H "Accept:application/xml" | xmllint --format --encode utf-8 -
レスポンス例:
======================================================================
test@example.com
2b4bbaff-4ef2-4352-a86f-c7797e82a612
======================================================================
項番3.送信元IDの検証状況確認
指定した送信元IDに対する検証状況を確認します。
送信元IDの検証状況のステータスは以下となります。
・Pending(検証中)
・Success(成功)
・Failed(失敗)
・TemporaryFailure(一時的な障害)
・NotStarted(検証開始前)
環境定義コマンド例:
======================================================================
# MEMBER1=<登録した送信元ID(メールアドレスを指定)>
MEMBER1=test@example.com
API実行コマンド例:
======================================================================
curl -Ss "https://mail.jp-east-1.cloud.global.fujitsu.com/?Action=GetIdentityVerificationAttributes&Identities.member.1=$MEMBER1" -X POST -H "X-Auth-Token: $OS_AUTH_TOKEN" -H "Content-Type:application/x-www-form-urlencoded; charset=utf-8" -H "Accept:application/xml" | xmllint --format --encode utf-8 -
レスポンス例:
======================================================================
test@example.com
Success
7e6d7f0a-fd23-445b-8666-b89834ac7c89
======================================================================
項番4.メール送信
メール配信サービスを利用してメール送信します。
注意事項:
・メールの送信元アドレスは検証済み(項番3で確認するステータスが
「Success」)である必要があります。
・送信先のメールアドレスは実在するメールアドレスを使用してください。
項番4-1.メール送信1
変数として指定したデータファイルを基にして作成したメールを送信します。
環境定義コマンド例:
======================================================================
# SOURCE_ADDRESS=<送信元メールアドレス>
SOURCE_ADDRESS=test@example.com
# DESTINATION_TO=<送信先:TOメールアドレス>
DESTINATION_TO=test@example.com
# DESTINATION_CC=<送信先:CCメールアドレス>
DESTINATION_CC=test@example.com
# メール件名
# シェルと同じフォルダのファイル「mailSubject1.txt」に記述する。
# ファイルの文字コード:utf-8、改行コード:LF
# APIのパラメータMessage.Subject.Dataにこのファイルを設定して受け渡す
# メール本文
# シェルと同じフォルダの「mailData1.txt」に記述する。
# ファイルの文字コード:utf-8、改行コード:LF
# APIのパラメータMessage.Body.Text.Dataにこのファイルを設定して受け渡す
API実行コマンド例:
======================================================================
curl -Ss $MAILSERVICE/?Action=SendEmail \
-X POST \
-H "X-Auth-Token: $OS_AUTH_TOKEN" \
-H "Accept:application/xml" \
-H "Content-Type:application/x-www-form-urlencoded; charset=utf-8" \
--data-urlencode "Source=$SOURCE_ADDRESS" \
--data-urlencode "Destination.ToAddresses.member.1=$DESTINATION_TO" \
--data-urlencode "Destination.CcAddresses.member.1=$DESTINATION_CC" \
--data-urlencode Message.Subject.Data@./mailSubject1.txt \
--data-urlencode Message.Body.Text.Data@./mailData1.txt | xmllint --format --encode utf-8 -
レスポンス例:
======================================================================
000001979ca075-dec4-4a31-88f0-72ac7aa33c0b-000000
ee2be84f-816a-4e14-b73e-673905a2f171
======================================================================
項番4-2.メール送信2
メールの全文を記載したテキストデータを基にメール送信します。
注意事項:
テキストデータは以下の要件を満たす必要があります。
・メッセージは1つのヘッダとボディを空行で区切る必要があります。
・必須のヘッダフィールドすべてが存在する必要があります。
・マルチパートMIMEメッセージの各部分に適正にフォーマットする必要が
あります。
・Base64に変換する必要があります。
・Base64に変換した内容はエンコードを"UTF-8"に指定する必要が
あります。
項番4-2-1.メール文章作成例
メールの全文を記載したテキストの作成例を記載します。
テキストデータの形式:
======================================================================
Subject:<メール件名>
<メール本文>
======================================================================
テキストデータ例: ファイル名 Sample_message_01.txt
======================================================================
Subject: Customer service contact info
Hi Andrew. Here are the customer service names and telephone numbers I promised you.
See attached.
-Bob
======================================================================
項番4-2-2.メール文章変換例
作成したメール文章をBase64に変換し、Base64に変換した内容を
UTF-8に変換しています。
参考)テキストデータのBase64変換(UTF-8指定)コマンド例:
======================================================================
# base64 テキストファイル名(変換前) | nkf -w8 > テキストファイル名(base64変換後)
base64 Sample_message_01.txt | nkf -w8 > Sample_message_01_base64.txt
参考)テキストデータのBase64変換(UTF-8指定)レスポンス例:
======================================================================
レスポンスなし
======================================================================
参考)エンコードの確認コマンド例:
======================================================================
nkf -g Sample_message_01_base64.txt
参考)エンコードの確認レスポンス例:
======================================================================
UTF-8 (LF)
======================================================================
参考)テキストデータのBase64変換後の確認コマンド例:
Base64に変換されたことを確認します。
======================================================================
cat Sample_message_01_base64.txt
参考)テキストデータのBase64変換後のレスポンス例:
======================================================================
U3ViamVjdDogQ3VzdG9tZXIgc2VydmljZSBjb250YWN0IGluZm8NCg0KSGkgQW5kcmV3LiAgSGVyZSBhcmUgdGhlIGN1c3RvbWVyIHNlcnZpY2UgbmFtZXMgYW5kIHRlbGVwaG9uZSBudW1iZXJzIEkgcHJvbWlzZWQgeW91LiANCg0KU2VlIGF0dGFjaGVkLg0KDQotQm9iDQo=
======================================================================
項番4-2-3.メール送信2
Base64に変換したテキストデータをメール送信します。
環境定義コマンド例:
======================================================================
# SOURCE_ADDRESS=<送信元メールアドレス>
SOURCE_ADDRESS=test@example.com
# DESTINATION_TO=<送信先メールアドレス>
DESTINATION_TO=test@example.com
# メール件名・本文
# シェルと同じフォルダの、Base64に変換したテキストデータ(上記の例では Sample_message_01_base64.txt)をAPIの
# パラメータ RawMessage.Dataに設定して受け渡す
API実行コマンド例:
======================================================================
curl -Ss $MAILSERVICE/?Action=SendRawEmail \
-X POST \
-H "X-Auth-Token: $OS_AUTH_TOKEN" \
-H "Accept:application/xml" \
-H "Content-Type:application/x-www-form-urlencoded; charset=utf-8" \
--data-urlencode "Source=$SOURCE_ADDRESS" \
--data-urlencode "Destinations.member.1=$DESTINATION_TO" \
--data-urlencode RawMessage.Data@./Sample_message_01_base64.txt | xmllint --format --encode utf-8 -
レスポンス例:
======================================================================
00000114a0fa3f-187c-4b69-87ae-03d579efaa0b-000000
694971fd-2072-421f-9a0b-cc83eefba9fe
======================================================================
参考1.メール送信上限値の確認
一定期間内のメール送信上限数を確認します。
・SentLast24Hours:ユーザが過去24時間に送信したメール数。
・Max24HourSend :ユーザに許可されている過去24時間の間に送信できる
メールの上限値。
・MaxSendRate :ユーザに許可されている1秒間に送信できるメールの
上限値。
API実行コマンド例:
======================================================================
curl -Ss "https://mail.jp-east-1.cloud.global.fujitsu.com/?Action=GetSendQuota" -X POST -H "X-Auth-Token: $OS_AUTH_TOKEN" -H "Content-Type:application/x-www-form-urlencoded; charset=utf-8" -H "Accept:application/xml" | xmllint --format --encode utf-8 -
レスポンス例:
======================================================================
1.0
2500000.0
50.0
b910ef15-84d0-4a70-9eb0-64b2caaab5s3
======================================================================
参考2.送信メールの統計情報取得
過去2週間分の送信メールの送信結果の統計情報を取得します。
取得するリストのデータは15分毎の統計情報です。
API実行コマンド例:
======================================================================
curl -Ss "https://mail.jp-east-1.cloud.global.fujitsu.com/?Action=GetSendStatistics" -X POST -H "X-Auth-Token: $OS_AUTH_TOKEN" -H "Content-Type:application/x-www-form-urlencoded; charset=utf-8" -H "Accept:application/xml" | xmllint --format --encode utf-8 -
レスポンス例:
======================================================================
1
2017-08-22T05:15:00Z
0
0
0
67433443-1f86-42cc-9785-6e5931e3fse5
======================================================================
参考3.SMTPサーバユーザ作成
SMTPサーバにアクセスするためのユーザを作成します。
注意事項:
・ユーザの作成は1契約につき1つまで作成可能となります。
・SMTPサーバにアクセスするためのユーザ名とパスワードは自動生成
され、明示的に指定することはできません。
API実行コマンド例:
======================================================================
curl -Ss "https://mail.jp-east-1.cloud.global.fujitsu.com/?Action=CreateSMTPUser" -X POST -H "X-Auth-Token: $OS_AUTH_TOKEN" -H "Content-Type:application/x-www-form-urlencoded; charset=utf-8" -H "Accept:application/xml" | xmllint --format --encode utf-8 -
レスポンス例:
======================================================================
<ユーザ名>
<パスワード>
c1c43df5-ba0f-4e9b-9631-b61020c6e489
======================================================================
参考4.SMTPサーバユーザ情報取得
SMTPサーバにアクセスするユーザ情報を取得します。
API実行コマンド例:
======================================================================
curl -Ss "https://mail.jp-east-1.cloud.global.fujitsu.com/?Action=GetSMTPUserInfo" -X POST -H "X-Auth-Token: $OS_AUTH_TOKEN" -H "Content-Type:application/x-www-form-urlencoded; charset=utf-8" -H "Accept:application/xml" | xmllint --format --encode utf-8 -
レスポンス例:
======================================================================
<ユーザ名>
<パスワード>
f5fb6951-ca73-4c69-9459-f1a997672309
======================================================================
参考5.SMTPサーバユーザ削除
SMTPサーバにアクセスするためのユーザを削除します。
API実行コマンド例:
======================================================================
curl -Ss "https://mail.jp-east-1.cloud.global.fujitsu.com/?Action=DeleteSMTPUser" -X POST -H "X-Auth-Token: $OS_AUTH_TOKEN" -H "Content-Type:application/x-www-form-urlencoded; charset=utf-8" -H "Accept:application/xml" | xmllint --format --encode utf-8 -
レスポンス例:
======================================================================
ec992b55-1ff1-464a-9577-724f15fbea24
======================================================================
参考6.送信元IDの削除
登録済みの送信元IDを削除します。
環境定義コマンド例:
======================================================================
# TMP_IDENTITY=<削除する送信元ID(メールアドレスを指定)>
TMP_IDENTITY=test@example.com
API実行コマンド例:
======================================================================
curl -Ss "https://mail.jp-east-1.cloud.global.fujitsu.com/?Action=DeleteIdentity&Identity=$TMP_IDENTITY" -X POST -H "X-Auth-Token: $OS_AUTH_TOKEN" -H "Content-Type:application/x-www-form-urlencoded; charset=utf-8" -H "Accept:application/xml" | xmllint --format --encode utf-8 -
レスポンス例:
======================================================================
3299909e-5410-4d22-882b-3d4011c10936
======================================================================
変更履歴:
───────────────────────────────────
v1.1版:
・ 39行目「注意事項」:説明修正
・「項番4-2.メール送信2」:誤記修正
・「参考5.SMTPサーバユーザ削除」:誤記修正
v1.2版:
・ 全体:レスポンス表示変更
・「項番4-2.メール送信2」:説明追記
・「項番4-2-1.メール文章作成例」:説明追記
・「項番4-2-2.メール文章変換例」:説明追記
・「項番4-2-3.メール送信2」:説明追記
v1.3版:
・「項番4-1.メール送信1」:長文のメール本文に対応するためメール本文をファイル渡しとするよう変更
・「項番4-2.メール送信2」:長文のメール本文に対応するためメール本文をファイル渡しとするよう変更
───────────────────────────────────
v1.4
・サービス名称変更
以上