我正在尝试以编程方式将Excel电子表格附加到电子邮件中,然后启动默认的黑莓电子邮件客户端,并将该消息作为参数。不幸的是,我收到错误:“电子邮件服务不支持这些类型的附件。更改发送使用字段或删除附件。”发送按钮不存在,菜单中没有“发送”选项;这阻碍了发送电子邮件的能力。
当我将软件包加载到我的物理黑莓手机以及模拟器中时,会发生此错误。
如果我使用API(注释的transport.send行),我可以毫不费力地发送电子邮件。
非常感谢任何和所有输入,如果我忽略了一些细节,请告诉我。
public Email()
{
try{
message = new Message();
multipart = new Multipart(); //Multi part can hold attachment AND body (and more)
subject = "Service Change Request";
multipart.addBodyPart( new TextBodyPart( multipart, "Hi XXXXXX, \n Here are the details for CLIENT" ) );
byte[] data = null;
InputStream stream = MyAPP.getUiApplication().getClass().getResourceAsStream("/blank_form.xls");
data = IOUtilities.streamToBytes(stream);
stream.close();
multipart.addBodyPart( new SupportedAttachmentPart( multipart, "application/octet-stream", "ServiceUpdate.xls", data ) );
Address recipients[] = new Address[1];
recipients[0]= new Address("*******@gmail.com", "user");
message.setSubject(subject);
message.setContent( multipart );
message.addRecipients(Message.RecipientType.TO, recipients);
//Transport.send(message);
}catch(Exception e){
}
}
public void send(){
Invoke.invokeApplication( Invoke.APP_TYPE_MESSAGES, new MessageArguments( message ) );
}
答案 0 :(得分:2)
修改: 由于模拟器未配置电子邮件帐户,因此出现错误。它应该可以在任何已正确配置电子邮件帐户的手机上正常工作。
我希望这会有所帮助,而且我也不会迟到这个帖子 我之前使用过附件,在Blckberry工作很痛苦。
我能想到的唯一问题是您尝试使用的MIME类型。
"Application/octet-stream"
,尝试使用与附件扩展名对应的MIME,例如{。1}}表示.xls文件。你可以找到完整的清单here,这是我能找到的最长的清单。
在官方开发者页面like this one上的几个知识库文章中提到的Blackberry电子邮件服务和附件也存在一些问题,他们有时会说附件必须以"application/excel"
为前缀在文件名中,如"x-rimdevice"
。虽然我不确定这会影响外发邮件,但我认为值得一提。
顺便说一下,我正在尝试将你的代码用于我正在编写的应用程序,所以我有点希望它有效。