package cn.itcase.javaMail1;
import java.util.Properties;
import javax.mail.Address;
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
public class Demo1 {
public static void main(String[] args) throws Exception{
Properties props=new Properties();
props.setProperty("mail.smtp.auth","true");
props.setProperty("mail.transport.protocol", "smtp");
Session session=Session.getInstance(props);
session.setDebug(true);
Message msg=new MimeMessage(session);//卫星
msg.setText("方老师好,我是xxx,这是我的javaMail程序发的邮件");
msg.setFrom(new InternetAddress("lili@sohu.com"));
Transport transport=session.getTransport();//火箭
transport.connect("smtp.sina.com", 25, "lili@sina.com","lili");//主机,端口,用户名,密码
transport.sendMessage(msg, new Address[]{new InternetAddress("lili@sohu.com")});//火箭发送卫星
transport.close();
}
}
在这篇程序运行中(邮箱地址和密码改过了)出现以下异常:
DEBUG: setDebug: JavaMail version 1.4.1
DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc]
DEBUG SMTP: useEhlo true, useAuth true
DEBUG SMTP: trying to connect to host "smtp.sina.com", port 25, isSSL false
220 irxd5-201.sinamail.sina.com.cn ESMTP
DEBUG SMTP: connected to host "smtp.sina.com", port: 25
EHLO
501 #5.0.0 EHLO requires domain address
HELO
250 irxd5-201.sinamail.sina.com.cn
DEBUG SMTP: use8bit false
MAIL FROM:<lili@sohu.com>
530 Authentication required
DEBUG SMTP: got response code 530, with response: 530 Authentication required
RSET
250 reset
com.sun.mail.smtp.SMTPSendFailedException: 530 Authentication required
at com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:1515)
at com.sun.mail.smtp.SMTPTransport.mailFrom(SMTPTransport.java:1054)
at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:634)
at cn.itcase.javaMail1.Demo1.main(Demo1.java:27)
Exception in thread "main" com.sun.mail.smtp.SMTPSendFailedException: 530 Authentication required
at com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:1515)
at com.sun.mail.smtp.SMTPTransport.mailFrom(SMTPTransport.java:1054)
at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:634)
at cn.itcase.javaMail1.Demo1.main(Demo1.java:27)
是什么原因啊?请高手指教一下,谢谢