有人知道该怎么做吗?我演示JAVAMAIL里面DEMO的例子都不成功,是什么原因?

解决方案 »

  1.   

    DEMO肯定成功,兄弟搜索一下“JAVAMAIL”很多哟
      

  2.   

    还是没有关于通过代理服务器用JAVAMAIL收发邮件的例子,哪位兄弟写过的,能否给点启示?
      

  3.   

    // 请看下面通过代理服务器的例子:
    // 代理服务器的IP:172.16.9.105
    // 端口为:80
    // 怎样才能transport.connect()connect到80端口??  import java.io.*;
      import java.net.InetAddress;
      import java.util.Properties;
      import java.util.Date;  import javax.activation.*;
      import javax.mail.*;
      import javax.mail.internet.*;  public void sendMail(String pwd) {
        String to = "[email protected]";
        String from = "[email protected]";
        String server = "172.16.9.105";
        String user = "toAddr#smtp.163.net";
        String password = pwd;    try{
          Properties props = new Properties ();
          props.put("mail.smtp.host", server);
          props.put("mail.smtp.auth", "true");
          props.put("mail.bebug", "true");      //URLName urlName = new URLName(server);
          //PasswordAuthentication pa = new PasswordAuthentication(user, password);
          Session sendMailSession = Session.getDefaultInstance(props, null);
          sendMailSession.setDebug(true);      //sendMailSession.setPasswordAuthentication(urlName, pa);
          //SMTPTransport transport = new SMTPTransport(sendMailSession, null);
          Transport transport = sendMailSession.getTransport("smtp");
          Message msg = new MimeMessage(sendMailSession);
          msg.setFrom(new InternetAddress(from));
          InternetAddress[] address = {new InternetAddress(to)};
          msg.setRecipients(Message.RecipientType.TO, address);
          msg.setSubject("Java Mail Test");
          msg.setHeader("X-Mailer", "msgsend");
          msg.setSentDate(new Date());
          //msg.setText ("Lalalala......");      MimeBodyPart mbp1 = new MimeBodyPart();
          mbp1.setText("Lalalala.......");      // create the second message part
          MimeBodyPart mbp2 = new MimeBodyPart();      // attach the file to the message
          FileDataSource fds = new FileDataSource("c://finmek.log");
          mbp2.setDataHandler(new DataHandler(fds));
          mbp2.setFileName(fds.getName());      // create the Multipart and its parts to it
          Multipart mp = new MimeMultipart();
          mp.addBodyPart(mbp1);
          mp.addBodyPart(mbp2);      // add the Multipart to the message
          msg.setContent(mp);      transport.connect(server, user, password);
          //transport.connect();
          transport.sendMessage(msg, msg.getRecipients(Message.RecipientType.TO));
        } catch(Exception ex) {
          ex.printStackTrace();
        }
      }运行后产生的错误提示:DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc]
    DEBUG SMTP: useEhlo true, useAuth trueDEBUG: SMTPTransport trying to connect to host "172.16.9.105", port 25javax.mail.MessagingException: Could not connect to SMTP host: 172.16.9.105, port: 25;
      nested exception is: 
    java.net.ConnectException: Connection refused: connect
    at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:695)
    at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:168)
    at javax.mail.Service.connect(Service.java:227)
    at javax.mail.Service.connect(Service.java:131)
    at testjava.MainFrm.sendMail(MainFrm.java:123)
    at testjava.MainFrm.jButton1_actionPerformed(MainFrm.java:134)
    at testjava.MainFrm$1.actionPerformed(MainFrm.java:49)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1450)
    at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1504)
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:378)
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:250)
    at javax.swing.plaf.basic.BasicRootPaneUI$DefaultAction.actionPerformed(BasicRootPaneUI.java:156)
    at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1702)
    at javax.swing.JComponent.processKeyBinding(JComponent.java:2156)
    at javax.swing.KeyboardManager.fireBinding(KeyboardManager.java:252)
    at javax.swing.KeyboardManager.fireKeyboardAction(KeyboardManager.java:205)
    at javax.swing.JComponent.processKeyBindingsForAllComponents(JComponent.java:2223)
    at javax.swing.JComponent.processKeyBindings(JComponent.java:2216)
    at javax.swing.JComponent.processKeyEvent(JComponent.java:2123)
    at java.awt.Component.processEvent(Component.java:3555)
    at java.awt.Container.processEvent(Container.java:1167)
    at java.awt.Component.dispatchEventImpl(Component.java:2595)
    at java.awt.Container.dispatchEventImpl(Container.java:1216)
    at java.awt.Component.dispatchEvent(Component.java:2499)
    at java.awt.LightweightDispatcher.processKeyEvent(Container.java:2162)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:2142)
    at java.awt.Container.dispatchEventImpl(Container.java:1203)
    at java.awt.Window.dispatchEventImpl(Window.java:918)
    at java.awt.Component.dispatchEvent(Component.java:2499)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:336)
    at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:134)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:96)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:88)