佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 802|回复: 4

用java send email

[复制链接]
发表于 16-3-2007 02:35 PM | 显示全部楼层 |阅读模式
我用了这里的code让我的java send email。。

01 import com.jscape.inet.smtpssl.*;
02 import com.jscape.inet.email.*;
03
04 public class SmtpGmail {
05   
06   public static void main(String[] args) {
07     SmtpSsl smtp = null;
08    
09     // gmail username - CHANGE THIS
10     String username = "username@gmail.com";
11    
12     // gmail password - CHANGE THIS
13     String password = "password";
14    
15     // address to send mail to - CHANGE THIS
16     String to = "user@domain.com";
17     try {      
18       // create a new SmtpSsl instance connecting securely via port 465 using implicit SSL
19       smtp = new SmtpSsl("smtp.gmail.com",465);
20       
21       // establish secure connection
22       smtp.connect();
23       
24       // login using gmail account details
25       smtp.login(username,password);
26       
27       // create new email message
28       EmailMessage message = new EmailMessage();
29       message.setTo(to);
30       message.setFrom(username);
31       message.setSubject("Sending email via Gmail SMTP");
32       message.setBody("This is the body of the message");
33       
34       // send message
35       smtp.send(message);
36       
37       // disconnect      
38       smtp.disconnect();      
39     } catch(Exception e) {
40       // capture any exception and print to console
41       e.printStackTrace();
42     }
43   }
44 }

但是,却出现以下error。。请问有谁能解决

Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: javax/net/ssl/TrustManager
        at com.jscape.inet.ipclientssl.SecureSocket.getTrustAllManagers(Unknown Source)
        at com.jscape.inet.ipclientssl.SecureSocket.<init>(Unknown Source)
        at com.jscape.inet.ipclientssl.IpClientSsl.connect(Unknown Source)
        at com.jscape.inet.smtpssl.SmtpSsl.connect(Unknown Source)
        at MainPage.jLabel6MouseClicked(MainPage.java:259)
        at MainPage.access$100(MainPage.java:10)
        at MainPage$2.mouseClicked(MainPage.java:101)
        at java.awt.Component.processMouseEvent(Component.java:6041)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3260)
        at java.awt.Component.processEvent(Component.java:5803)
        at java.awt.Container.processEvent(Container.java:2058)
        at java.awt.Component.dispatchEventImpl(Component.java:4410)
        at java.awt.Container.dispatchEventImpl(Container.java:2116)
        at java.awt.Component.dispatchEvent(Component.java:4240)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3995)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
        at java.awt.Container.dispatchEventImpl(Container.java:2102)
        at java.awt.Window.dispatchEventImpl(Window.java:2429)
        at java.awt.Component.dispatchEvent(Component.java:4240)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)

回复

使用道具 举报


ADVERTISEMENT

 楼主| 发表于 17-3-2007 09:02 AM | 显示全部楼层
有没人懂?
回复

使用道具 举报

 楼主| 发表于 17-3-2007 11:23 AM | 显示全部楼层
找到另一个方法。。

String mailserver = "smtp.gmail.com";   
          String from = "ahcheong@gmail.com";   
          String to = "ahcheong@msn.com";   
          String subject = "test";   
          try     
          {      
            InternetAddress[] inaddr = InternetAddress.parse(to,false);
            Properties props = System.getProperties();      
            props.put("mail.smtp.auth", "false");   
            props.put("mail.smtp.host", mailserver);      
            Session sess = Session.getInstance(props);      
            Transport trans = sess.getTransport("smtp");      
            Message msg = new MimeMessage(sess);      
            msg.setFrom(new InternetAddress(from));     
            msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to,false));      
            msg.setSubject(subject);      
            msg.setText("Yes, ok");      
            msg.saveChanges();      
            trans.connect(mailserver,"ahcheong", "cheong");      
            trans.send(msg);      
            System.out.println(inaddr.toString());      
            System.out.println("ok");   
          }   
          catch(Exception e)
          {
            System.out.println(e.toString());
          }


但,还是有error。。
com.sun.mail.smtp.SMTPSendFailedException: 530 5.7.0 Must issue a STARTTLS command first t1sm7102254poh
回复

使用道具 举报

发表于 20-3-2007 05:17 PM | 显示全部楼层
不介意的话,给我你的 email address。
回复

使用道具 举报

发表于 20-3-2007 05:27 PM | 显示全部楼层
还有, 据我的 experience, 是不可以直接用javamail send mail 给yahoo 和msn/hotmail 的mail host. 除了你是通过 一个mail server.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT


本周最热论坛帖子本周最热论坛帖子

ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 26-8-2025 10:41 PM , Processed in 0.143975 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表