public String sendMail(String mailFrom,String mailTo,String subject,String content) {
String result="false";
try {
Properties prop = System.getProperties();
prop.put("mail.pop3.host", "163.net");
Session session = Session.getDefaultInstance(prop, null);
MimeMessage msg = new MimeMessage(session);
msg.setFrom(new InternetAddress(mailFrom));
msg.setRecipient(Message.RecipientType.TO, new InternetAddress(mailTo));
msg.setSubject(subject);
msg.setSentDate(new Date());
msg.setText(content);
Transport.send(msg);
result="true";
return result;
} catch (Exception e) {
System.out.println("sendMail : "+"send failed !");
e.printStackTrace();
return result;
}
}
总是会发送失败
prop.put("mail.stmp.host", "163.net");
这里mail.stmp.host我改成pop3的也是发送失败。

解决方案 »

  1.   

    异常信息:com.sun.mail.smtp.SMTPSendFailedException: 553 You are not authorized to send mail as <MAIL FROM:<[email protected]>>, authentication is required at com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:1388)
    at com.sun.mail.smtp.SMTPTransport.mailFrom(SMTPTransport.java:959)
    at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:583)
    at javax.mail.Transport.send0(Transport.java:169)
    at javax.mail.Transport.send(Transport.java:98)
    at org.apache.jsp.sendMail_jsp.sendMail(sendMail_jsp.java:27)
    at org.apache.jsp.sendMail_jsp._jspService(sendMail_jsp.java:91)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    at java.lang.Thread.run(Unknown Source)
      

  2.   

    但我用公司的mail服务器的时候就能用
    用163.net必须要登录?
      

  3.   

    163.net需要用户验证的,否则不成来谁都能用了?http://www.blogjava.net/Javawind/archive/2007/10/05/150609.html