JAVAmail不能发送
源程序:
1:
package main;
import java.io.UnsupportedEncodingException;
import java.util.Properties;
import javax.mail.Address;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
public class Class1{
public static void main(String args[]) throws MessagingException, UnsupportedEncodingException{
String host = "SMTP.sina.com";
String from = "xiaoxi@sina.com";
String to = "guoxiaoxi@staff.hexun.com";
// Get system properties
Properties props = System.getProperties();
// Setup mail server
//props.put("mail.transport.protocol","smtp");
props.put("mail.smtp.host", host);
//props.put("mail.smtp.port","25");
props.put("mail.smtp.auth","true");
MyAuthenticator myauth = new MyAuthenticator("xiaoxi@sina.com", "123");
Session session = Session.getDefaultInstance(props, myauth);
// Get session
//Session session = Session.getDefaultInstance(props, null);
// Define message
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(from));
message.addRecipient(Message.RecipientType.TO,new InternetAddress(to));
message.setSubject("Hello JavaMail");
message.setText("Welcome to JavaMail");
// Send message
Transport.send(message);
//Transport transport = session.getTransport("smtp");
//transport.connect("smtp.sina.com", "xiaoxi@sina.com", "123"); /// 这里的地址要与 标志1的地址雷同.
//transport.sendMessage(message, message.getAllRecipients());
System.out.println("发送完毕!");
}
}
2:
package main;
import javax.mail.PasswordAuthentication;
class MyAuthenticator extends javax.mail.Authenticator {
private String strUser;
private String strPwd;
public MyAuthenticator(String user, String password){
this.strUser = user;
this.strPwd = password;
}
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(strUser, strPwd);
}
}
========================================
错误:
Exception in thread "main" javax.mail.SendFailedException: Sending failed;
nested exception is:
javax.mail.AuthenticationFailedException
at javax.mail.Transport.send0(Transport.java:219)
at javax.mail.Transport.send(Transport.java:81)
at main.Class1.main(Class1.java:40)