收信后,发现mail的内容不正确,然后给送信者返信,此时出现异常(单独收信和发信没有问题),
以下是异常信息:
javax.mail.SendFailedException: Sending failed;
nested exception is:
javax.mail.SendFailedException: Invalid Addresses;
nested exception is:
javax.mail.SendFailedException: 550 5.7.1 Unable to relay for [email protected]
我是新人,希望各位大侠多多帮忙,我调试了一天了还是找不出问题所在,急啊,先谢谢了。
以下是异常信息:
javax.mail.SendFailedException: Sending failed;
nested exception is:
javax.mail.SendFailedException: Invalid Addresses;
nested exception is:
javax.mail.SendFailedException: 550 5.7.1 Unable to relay for [email protected]
我是新人,希望各位大侠多多帮忙,我调试了一天了还是找不出问题所在,急啊,先谢谢了。
收信后,发现mail的内容不正确 ? 何谓不正确?
我可能说得不太清楚。
发现mail的内容不正确就是:
mail内容里:金额:123元。
如果金额为空就是mail的内容不正确。
我说清楚了吗?
设置的没有问题,单独的收信和发信都没有问题。
我怀疑是邮件服务器的原因,
收完信要把POP3服务器给断开,然后再连smtp送信,
可是不知道怎么断开阿?
不知道我的想法是不是正确,
请各位大哥大姐指教,谢谢
Transport.send(msg);
程序走到这一行的时候就异常了。
现在改成这样了:
Transport transport = null;
transport.send(msg);
transport.close();
还是出跟上面一样的异常,程序根本走不到transport.close();这一行就异常了,太郁闷了
public String sendMail(String strErrNaiyo, String strSubject) {
String fromMailAdd = "";
String emailHostIP = MailPproperties.emailHostIP;
String emailPort = MailPproperties.emailPort;
Properties props = new Properties();
props.put("mail.smtp.host", emailHostIP);
props.put("mail.smtp.port", emailPort);
Session session = Session.getDefaultInstance(props, null);
MimeMessage msg = new MimeMessage(session);
msg.setFrom(new InternetAddress(fromMailAdd));
msg.setRecipients(javax.mail.Message.RecipientType.TO, "[email protected]");
msg.setSubject(strSubject, "iso-2022-jp");
MimeBodyPart mbp = new MimeBodyPart();
MimeMultipart mmPary = new MimeMultipart();
if (strErrNaiyo != null) {
mbp.setText(strErrNaiyo, "iso-2022-jp");
mmPary.addBodyPart(mbp);
} else {
strErrNaiyo = "";
mbp.setText(strErrNaiyo, "iso-2022-jp");
mmPary.addBodyPart(mbp);
}
msg.setContent(mmPary);
msg.setSentDate(new Date());
msg.saveChanges();
Transport.send(msg);
} catch (MessagingException mex) {
mex.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
return "";
}
下面是收信时的设置:
String strHost = MailPproperties.popHostIP;
String strName = MailPproperties.reserveMailAddr;
String strPassword = MailPproperties.reservePassWord;
Properties prop = new Properties();
prop.put("mail.pop3.host", strHost);
Session session = Session.getDefaultInstance(prop, null);单独的收送信没有问题,可是一连起来就异常了。谢谢“jinxfei”大哥给我解答问题
Session.getInstance(prop, null);
我看你fromMainAdd变量是空串,
你的服务器不拒绝这种类型的邮件吗?现在很多服务器在发送信息时必须是先要验证帐号合法性的。
因为涉及到数据库的数据所以没有拷出来,
不好意思。
如果fromMainAdd变量是空串的话,catch因该能捕获住。