Отправить письмо на softlayer
В Softlayer Portal я заказал службу доставки электронной почты. и я могу видеть это в списке. но как можно отправить письмо с Java API.
Я пытался отправить письмо с кодом ниже.
Email email = new Email();
email.setfrom();
email.setBody();
email.setTo();
Boolean result = service.sendEmail(email);`
но он показывает ошибку, что "ID требуется для вызова службы"
если вы поделитесь примером кода, это также будет полезно. Спасибо
1 ответ
Чтобы использовать метод sendEmail, необходимо указать параметры инициализации (SoftLayer_Network_Message_Delivery_Email_SendgridInitParameters), вы можете увидеть это в разделе "Требуемые заголовки" из http://sldn.softlayer.com/reference/services/SoftLayer_Network_Message_Delivery_Email_Sendgrid/sendEmail вы можете получить информацию о параметрах метода init, подробнее вы можете получить.
Таким образом, вы можете получить объекты "SoftLayer_Network_Message_Delivery_Email_Sendgrid" следующим методом: http://sldn.softlayer.com/reference/services/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"
}
Итак, вам нужно указать "id" в службе, которую вы используете (SoftLayer_Network_Message_Delivery_Email_Sendgrid). Это должно выглядеть так в Java:
Long sendGridId = new Long(24564);
Sendgrid.Service sendgridService = Sendgrid.service(client, sendGridId);
Это не работает нормально для меня, кажется, клиент API SoftLayer для Java имеет проблему с указанием параметров инициализации для службы "SoftLayer_Network_Message_Delivery_Email_Sendgrid". Вы можете проверить это и отправить проблему, если не можете указать этот клиент SoftLayer API для проблем Java.
На самом деле, я могу предоставить запрос на отдых, который работает нормально:
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"
}
]
}
Рекомендации: