查看: 803|回复: 4
|
用java send email
[复制链接]
|
|
我用了这里的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)
|
|
|
|
|
|
|
|

楼主 |
发表于 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. |
|
|
|
|
|
|
| |
本周最热论坛帖子
|