没有认证,smtp服务器要求认证Session session;
Properties props = new Properties();
props.put("mail.smtp.auth","true");
PasswordAuthention auth = new passwordAuthention; //可以参考JavaMail的JavaDoc
......
session = Session.getInstance(props,auth);

解决方案 »

  1.   

    给你一段程序
    public void sendmail(){
                    try{
                            Properties props=new Properties();
                            props.put("mail.smtp.auth","true");
                            props.put("mail.smtp.host",stmpname);                        Email_Autheticatorbean auth = new Email_Autheticatorbean(username,password);
                            Session mailConnection= Session.getInstance(props,auth);
                            Message msg = new MimeMessage(mailConnection);                        Address send = new InternetAddress(sendadd,sendname);
                            Address receive= new InternetAddress(receiveradd,receivername);                        msg.setContent(content,"text/plain");
                            msg.setFrom(send);
                            msg.setRecipient(Message.RecipientType.TO,receive);
                            msg.setSubject(subject);                        Transport.send(msg);
                            sendresult="邮件已经发送!";
                    }
                    catch (Exception e){
                            e.printStackTrace();
                            sendresult="邮件发送失败,请检查您的输入是否正确!";
    }
      }其中Email_Autheticatorbean这样写package mailtest;import java.net.InetAddress;
    import javax.mail.*;
    import javax.mail.internet.*;
    import java.awt.event.*;
    import java.util.*;public class Email_Autheticatorbean  extends Authenticator
    {
    private String m_username = null;
    private String m_userpass = null;public void setUsername(String username)
    {
     m_username = username;
    }public void setUserpass(String userpass)
    {
     m_userpass = userpass;
    }public Email_Autheticatorbean(String  user, String password)
    {
       super();
       setUsername(user);
       setUserpass(password);}
    public PasswordAuthentication getPasswordAuthentication()
    {  return new PasswordAuthentication(m_username,m_userpass);
    }
      public void setM_username(String m_username) {
        this.m_username = m_username;
      }
      public void setM_userpass(String m_userpass) {
        this.m_userpass = m_userpass;
      }
    }