【发布时间】:2019-02-24 12:27:38
【问题描述】:
我通过 Java 客户端库使用 Gmail API,我发现 Gmail API insert(java.lang.String userId, com.google.api.services.gmail.model.Message content) 方法只插入小于 5Mb 的文件。
我尝试使用Insert insert(java.lang.String userId, com.google.api.services.gmail.model.Message content, com.google.api.client.http.AbstractInputStreamContent mediaContent) 插入带有文件(大小为 10MB)的消息。
MimeMessage email = GmailAPI.createEmail("toXXX@gmail.com", "fromYYY@gmail.com", "subject", "message body");
FileContent content = new FileContent("message/rfc822", new File("C:\\Users\\user\\someFile"));
Message message = createMessageWithEmail(email);
message = service.users().messages().insert(userId, message, mediaContent).execute();
CreateEmail 是快速入门中的简单方法:
public static MimeMessage createEmail(String to,
String from,
String subject,
String bodyText)
throws MessagingException {
Properties props = new Properties();
Session session = Session.getDefaultInstance(props, null);
MimeMessage email = new MimeMessage(session);
email.setFrom(new InternetAddress(from));
email.addRecipient(javax.mail.Message.RecipientType.TO,
new InternetAddress(to));
email.setSubject(subject);
email.setText(bodyText);
return email;
}
邮件出现在我的邮箱中,但没有文件。
这里出了什么问题?
UPD1: 插入媒体内容,仅插入不带附件的电子邮件。我觉得我用错了。
【问题讨论】:
-
据我记得你只能发送
-
@menteith 我猜插入方法与发送具有相同的限制:最大文件大小:35MB;接受的媒体 MIME 类型:message/rfc822。来源:developers.google.com/gmail/api/v1/reference/users/messages/…
标签: java email gmail gmail-api