sendgrid-java icon indicating copy to clipboard operation
sendgrid-java copied to clipboard

Getting error "The attachment content must be base64 encoded" while sending pdf in zip as an attachment using SendGrid

Open surajintellicus opened this issue 3 years ago • 0 comments

We are using SendGrid latest JAVA API's available to send emails. As part of attachment we are attaching a pdf enclosed in a zip file. While sending mail we are getting 404 as response code and error message stating The attachment content must be base64 encoded Complete Error Message: {"errors":[{"message":"The attachment content must be base64 encoded.","field":"attachments.0.content","help":"http://sendgrid.com/docs/API_Reference/Web_API_v3/Mail/errors.html#message.attachments.content"}]}

Wanted help if we are doing anything wrong and need more clarity how can we solve this issue. Please find attached code snippet.

Code Snippet :

Path file = Paths.get(this.file.getAbsolutePath());
Attachments attachments = new Attachments();
attachments.setFilename(Base64.getMimeEncoder().encodeToString(file.getFileName().toString().getBytes(StandardCharsets.UTF_8)));
//attachments.setType("application/pdf");
attachments.setDisposition("attachment");
byte[] attachmentContentBytes = Files.readAllBytes(file);
String attachmentContent = Base64.getMimeEncoder().encodeToString(attachmentContentBytes);
attachments.setContent(attachmentContent);
mail.addAttachments(attachments);

com.sendgrid.SendGrid sg = new com.sendgrid.SendGrid(this.apiKey);
Request request = new Request();
request.setMethod(Method.POST);
request.setEndpoint("mail/send");
request.setBody(mail.build());
Response response = sg.api(request);

Error :

Complete Error Message: {"errors":[{"message":"The attachment content must be base64 encoded.","field":"attachments.0.content","help":"http://sendgrid.com/docs/API_Reference/Web_API_v3/Mail/errors.html#message.attachments.content"}]}

Using Maven Repo : <groupId>com.sendgrid</groupId> <artifactId>sendgrid-java</artifactId> 4.9.1

Sheet 1(1).zip

surajintellicus avatar Apr 04 '22 05:04 surajintellicus