-1

Softlayer Portal で、メール配信サービスを注文しました。リストで見ることができます。しかし、どうすればJava APIでメールを送信できますか。

以下のコードでメールを送信しようとしました。

Email email = new Email();
email.setfrom();
email.setBody();
email.setTo();
Boolean result = service.sendEmail(email);`

しかし、「サービスを呼び出すにはIDが必要です」というエラーが表示されます

サンプル コードを共有すると、それも役に立ちます。ありがとうございました

4

1 に答える 1

2

sendEmail メソッドを使用するには、init パラメーター (SoftLayer_Network_Message_Delivery_Email_SendgridInitParameters) を指定する必要があります。これは、 SoftLayer_Network_Message_Delivery_Email_Sendgrid::sendEmailメソッドの「必要なヘッダー」セクションで確認できます。init パラメーターの詳細については、こちらを参照してください。

したがって、次のメソッドを使用して「SoftLayer_Network_Message_Delivery_Email_Sendgrid」オブジェクトを取得できます: SoftLayer_Account::getNetworkMessageDeliveryAccounts、ここでは Rest 要求:

https://$username:$apiKey@api.softlayer.com/rest/v3/SoftLayer_Account/getNetworkMessageDeliveryAccounts

Method: Get

次のような結果が得られます。

0:  {
"accountId": 123456
"createDate": "2015-05-15T06:35:56+12:00"
"id": 24564
"modifyDate": "2016-01-08T05:59:57+11:00"
"password": "Password123*"
"typeId": 21
"username": "newemail@softlayer.com"
"vendorId": 1
"emailAddress": "email@softlayer.com"
"smtpAccess": "1"
}

そのため、使用しているサービス (SoftLayer_Network_Message_Delivery_Email_Sendgrid) で「id」を指定する必要があります。Java では次のようになります。

Long sendGridId = new Long(24564);
Sendgrid.Service sendgridService = Sendgrid.service(client, sendGridId);

Java 用の SoftLayer API クライアントには、「SoftLayer_Network_Message_Delivery_Email_Sendgrid」サービスの初期化パラメーターを指定する際に問題があるようです。このSoftLayer API Client for Java Issuesを指定できない場合は、それを確認して問題を送信できます。

実際、正常に機能している休憩リクエストを提供できます。

https://$user:$apiKey@api.softlayer.com/rest/v3/SoftLayer_Network_Message_Delivery_Email_Sendgrid/24564/sendEmail

Method: Post

{  
   "parameters":[  
      {  
         "body":"set me",
         "from":"set me",
         "to":"set me",
         "subject":"set me"
      }
   ]
}

参考文献:

http://sldn.softlayer.com/reference/services/SoftLayer_Network_Message_Delivery_Email_Sendgrid/sendEmail

于 2016-02-04T14:36:35.823 に答える