尝试发送邮件时收到错误:
sendingfailedexception:MAIL_API:没有边缘 服务记录
代码:
try
{
Session s = Session.getDefaultInstance();
if(s == null)
{
String errMsg = "Unabled to send email message.\n";
Dialog.alert(errMsg);
bCanSend = false;
}
else
{
bCanSend = true;
_emailTo =" poomalai@i-waves.com";
_emailBody = "emailBody";
emailTransport = Session.getTransport();
// msgStore = Session.waitForDefaultSession().getStore();
// folderList = msgStore.list(Folder.SENT);
// outFolder = folderList[0];
// msg = new Message(outFolder);
msg = new Message();
}
}
catch(Exception nse)
{
System.out.println(nse.toString());
}
try
{
System.out.println("SendEmail :: running");
if(bCanSend == true)
{
Address [] addresses = new Address[1];
addresses[0] = new Address(_emailTo, _emailTo);
msg.addRecipients(Message.RecipientType.TO, addresses);
msg.setSubject("IBM Calendar Share!");
msg.setContent(_emailBody);
}
}
catch(Exception e)
{
System.out.println("Exception caught trying to send email: " +
e.toString());
Dialog.inform(e.toString());
}
try
{
emailTransport.send(msg);
}
catch(Exception e)
{
System.out.println("Exception caught trying to send email: " +
e.toString());
Dialog.inform(e.toString());
}
答案 0 :(得分:1)
我在没有设置电子邮件帐户的设备上收到此错误。例如有一个数据连接,BBM连接,并且该人使用gmail - 但是没有在操作系统中配置电子邮件帐户。
我也打电话给
Session emailSession = Session.getDefaultInstance();
这不会返回null
- 所以查看您的代码,您认为可以发送。但是对Transport.send(msg)
的调用失败,因为帐户未设置。
编辑:我已经读过,如果您尝试将“发件人”地址设置为无效帐户,也会出现此错误。
抓住此异常(与您一样)并告知用户在重试之前设置有效的电子邮件帐户。
答案 1 :(得分:0)
您无法从模拟器发送邮件。