###################################################################### # 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 ・サービス名称変更 以上