如题 今天做了一个发邮件的例子  代码如下         public static void main(String[] args) throws Exception {
             SimpleEmail email = new SimpleEmail();
    email.setHostName("smtp.qq.com"); //Yahoo的服务器地址是:smtp.mail.yahoo.com
    email.addTo("[email protected]", "sunxiaomiao"); 
    email.setFrom("[email protected]", "木小白");
    email.setAuthentication("[email protected]", "*******");
    email.setSubject("Test message");
    email.setMsg("This is a simple test of commons-email");
    email.send(); }
运行后报错 以下是错误提示
Exception in thread "main" org.apache.commons.mail.EmailException: Sending the email to the following server failed : smtp.qq.com:25
at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1138)
at org.apache.commons.mail.Email.send(Email.java:1163)
at com.test.Test.main(Test.java:117)
Caused by: javax.mail.AuthenticationFailedException
at javax.mail.Service.connect(Service.java:306)
at javax.mail.Service.connect(Service.java:156)
at javax.mail.Service.connect(Service.java:105)
at javax.mail.Transport.send0(Transport.java:168)
at javax.mail.Transport.send(Transport.java:98)
at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1128)
... 2 more求助 如何解决

解决方案 »

  1.   

    Caused by: javax.mail.AuthenticationFailedException
    QQ邮箱的smtp服务需要开启!到QQ邮箱里有个设置 开启就OK了!
      

  2.   

    你用的什么jar包?我有的是mail.jar
    是通过Properties来设置的,感觉用的还行!
      

  3.   

    不好意思啊 这个是写错了 但是我在单独运行的时候就可以发送 放在web项目中就报错呢
    Exception in thread "main" org.apache.commons.mail.EmailException: Sending the email to the following server failed : smtp.163.com:25
    at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1138)
    at org.apache.commons.mail.Email.send(Email.java:1163)
    at com.test.Test.main(Test.java:117)
    Caused by: java.lang.NoClassDefFoundError: com/sun/activation/registries/LogSupport
    at javax.activation.MailcapCommandMap.<init>(MailcapCommandMap.java:140)
    at javax.activation.CommandMap.getDefaultCommandMap(CommandMap.java:61)
    at javax.activation.DataHandler.getCommandMap(DataHandler.java:153)
    at javax.activation.DataHandler.getDataContentHandler(DataHandler.java:611)
    at javax.activation.DataHandler.writeTo(DataHandler.java:315)
    at javax.mail.internet.MimeUtility.getEncoding(MimeUtility.java:248)
    at javax.mail.internet.MimeBodyPart.updateHeaders(MimeBodyPart.java:1268)
    at javax.mail.internet.MimeMessage.updateHeaders(MimeMessage.java:2012)
    at javax.mail.internet.MimeMessage.saveChanges(MimeMessage.java:1980)
    at javax.mail.Transport.send(Transport.java:97)
    at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1128)
    ... 2 more
    请教一下这个问题该怎么解决啊 我用的是eclipse3.1 jdk5
      

  4.   


    现在的问题是放在web项目中就报错
    Exception in thread "main" org.apache.commons.mail.EmailException: Sending the email to the following server failed : smtp.163.com:25
    at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1138)
    at org.apache.commons.mail.Email.send(Email.java:1163)
    at com.test.Test.main(Test.java:117)
    Caused by: java.lang.NoClassDefFoundError: com/sun/activation/registries/LogSupport
    at javax.activation.MailcapCommandMap.<init>(MailcapCommandMap.java:140)
    at javax.activation.CommandMap.getDefaultCommandMap(CommandMap.java:61)
    at javax.activation.DataHandler.getCommandMap(DataHandler.java:153)
    at javax.activation.DataHandler.getDataContentHandler(DataHandler.java:611)
    at javax.activation.DataHandler.writeTo(DataHandler.java:315)
    at javax.mail.internet.MimeUtility.getEncoding(MimeUtility.java:248)
    at javax.mail.internet.MimeBodyPart.updateHeaders(MimeBodyPart.java:1268)
    at javax.mail.internet.MimeMessage.updateHeaders(MimeMessage.java:2012)
    at javax.mail.internet.MimeMessage.saveChanges(MimeMessage.java:1980)
    at javax.mail.Transport.send(Transport.java:97)
    at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1128)
    ... 2 more
    请问这个问题该如何解决呢
      

  5.   

    Caused by: java.lang.NoClassDefFoundError: com/sun/activation/registries/LogSupport
    这个未定义
      

  6.   

    恩是 我看网上说的就是有冲突 但是具体是哪一个包不知道啊 网上解决的都是myeclipse的 我这找不到那个相应的啊
      

  7.   


    Caused by: java.lang.NoClassDefFoundError: com/sun/activation/registries/LogSupport包冲突引发程序调用错了包导致找不到LogSupport,你到referenced libraries目录中,找一下看看LogSupport这个class文件在哪个包下面然后删除相应的冲突包
      

  8.   

    找不到这个class文件啊 是不是和其他的jar文件有冲突啊 
      

  9.   

    还要重新下javaee和activation的jar文件
      

  10.   


    但是我用的 是eclipse啊 不是myEclipse 我再上面不是说过了吗 没有这个文件的
      

  11.   

    郁闷那我就不知道了。。我用myeclipse换过估计你的包版本不是新的吧。。没有那个class类