各位大大,我想用javamail的API实现一个发邮件的功能,但是出现错误,代码如下
Mail类:
import java.util.Date;
import java.util.Properties;import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;public class Mail {
public static void main(String[] args) {
// TODO Auto-generated method stub
sendMail(Constant.MAILADDRESS,"[email protected]","测试","这是一个测试邮件发送功能的消息");
}

public static void sendMail(String str_from,String str_to,String title,String content){
try {
Properties props = new Properties();
props.setProperty("mail.smtp.host", Constant.MAILSERVER);
props.setProperty( "mail.smtp.Auth ","true");
Session s = Session.getDefaultInstance(props,null);
s.setDebug(true);
MimeMessage message = new MimeMessage(s);
InternetAddress from= new InternetAddress(str_from); 
message.setFrom(from);
InternetAddress to = new InternetAddress(str_to);
message.setRecipient(Message.RecipientType.TO, to);
message.setSubject(title);
message.setText(content);//,"test/plain;charset=gb2312"
Date date = new Date();
message.setSentDate(new Date());
message.saveChanges();
Transport transport = s.getTransport("smtp");
System.out.println("正在连接");
transport.connect(Constant.MAILSERVER, Constant.MAILCOUNT, Constant.PASSWORD);
System.out.println("正在发送");
transport.sendMessage(message, message.getAllRecipients());
System.out.println("邮件发送成功");
transport.close();
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}

}}
Constant类:
public class Constant {
public static final String MAILADDRESS = "[email protected]";
public static final String MAILCOUNT = "mail";
public static final String PASSWORD = "xxx";
public static final String MAILSERVER = "smtp.qq.com";
}
报如下错误:
com.sun.mail.smtp.SMTPSendFailedException: 503 Error: need EHLO and AUTH first ! at com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:1388)
at com.sun.mail.smtp.SMTPTransport.mailFrom(SMTPTransport.java:959)
at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:583)
我认为是没能通过qq的smtp服务的验证,到处查找了下没找到解决办法,求指教