|
按书上说的写了个邮件发送的小类,可老是发不出去,大家帮忙看看下.一起两个类,MailSedn.java是发送的,s.java是主类,代码如下:
//MailSend.java:
import java.io.*;
import java.text.*;
import java.net.*;
import java.util.Properties;
import java.util.Date;
import javax.mail.*;
import javax.mail.internet.*;
public class MailSend {
String subject = null,text = null,mailhost = null;
public MailSend(){
mailhost = "localhost";
text = getUserText();
subject = "Welcome~";
}
public String sednMsg(String from,String to){
boolean debug = false;
String err = null;
try{
Properties props = System.getProperties();
if(mailhost!=null)
props.put("mail.smtp.host", mailhost);
Session session = Session.getDefaultInstance(props,null);
if(debug)
session.setDebug(true);
Message msg = new MimeMessage(session);
//from = null;
if(from != null){
msg.setFrom(new InternetAddress(from));
System.out.print("from is not null~");
}
else{
msg.setFrom();
System.out.print("from is null~");
}
msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to,false));
msg.setSubject(subject);
msg.setText(text);
msg.setSentDate(new Date());
Transport.send(msg);
System.out.println("Mail has been send successfully!");
}
catch (Exception e){
e.printStackTrace();
err = e.toString();
err = "Mail send has an error!";
}
return err;
}
public String getUserText(){
String userText = "";
String nowDate = DateFormat.getDateInstance().format(new Date());
userText = "hello~";
return userText;
}
}
//S.java
public class S {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String mail = new String("suhuajun2001@163.com");
MailSend ms = new MailSend();
ms.sednMsg("shj0717@gmail.com", "suhuajun2001@163.com");
//ms.sednMsg("", mail);
}
}
错误提示如下:
javax.mail.SendFailedException: Invalid Addresses;
nested exception is:
com.sun.mail.smtp.SMTPAddressFailedException: 550 5.7.1 Unable to relay for suhuajun2001@163.com
at com.sun.mail.smtp.SMTPTransport.rcptTo(SMTPTransport.java:1196)
at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:584)
at javax.mail.Transport.send0(Transport.java:169)
at javax.mail.Transport.send(Transport.java:98)
at server.MailSend.sednMsg(MailSend.java:47)
at server.S.main(S.java:12)
Caused by: com.sun.mail.smtp.SMTPAddressFailedException: 550 5.7.1 Unable to relay for suhuajun2001@163.com
大家看看是什么原因.还有,这个要用到的jar文件(mail.java,activation.java)我都包进去了~~~
|
|