Я использую Gmail Java SDK для отправки электронной почты с вложением.
Из этого документа максимальный размер загружаемого файла составляет 35 МБ.(https://developers.google.com/gmail/api/v1/reference/users/messages/send).
Однако в действительности я могу отправлять только электронные письма с вложением, максимальный размер которых не превышает 5 МБ, после этого я получаю от Google ошибку 400 Bad Request Too Large.
ЭтоМой код для создания сообщения MIME перед отправкой:
Properties props = new Properties();
Session session = Session.getDefaultInstance(props, null);
MimeMessage email = new MimeMessage(session);
email.setFrom(new InternetAddress(from));
email.setRecipient(javax.mail.Message.RecipientType.TO, new InternetAddress(to));
email.setSubject(SUBJECT_RE + subject);
email.setReplyTo(new Address[]{new InternetAddress(from)});
String references = getMailReferences(messageId, service);
if(StringUtils.isNotEmpty(references)) {
email.setHeader(MAIL_HEADER_REFERENCES, references);
}
MimeBodyPart mimeBodyPart = new MimeBodyPart();
mimeBodyPart.setContent(bodyText, "text/plain");
Multipart multipart = new MimeMultipart("mixed");
multipart.addBodyPart(mimeBodyPart);
for(int i=0 ; i< attachments.size() ; i++) {
EmailAttach attachment = attachments.get(i);
MimeBodyPart mimeBodyPartAttachment = new MimeBodyPart();
InputStream inputStream = new ByteArrayInputStream(attachment.getAttachmentBytes());
DataHandler dataHandler = new DataHandler(new InputStreamDataSource(inputStream, attachment.getFileName()));
mimeBodyPartAttachment.setDataHandler(dataHandler);
mimeBodyPartAttachment.setFileName(dataHandler.getName());
multipart.addBodyPart(mimeBodyPartAttachment);
}
email.setContent(multipart);
Существует ли ограничение размера при отправке электронной почты с вложением с помощью gmail или требуется изменение в коде для обработки большого вложения (пример обработки / создания MimeBodyPart) (>5МБ)