是不是邮件发送服务器需要身份验证?
我这里有段程序,你可以看看:
import javax.mail.*;
import javax.mail.internet.*;
import java.util.*;
public class sendMail
{
      public static void main(String args[]) throws Exception
      {            String host = "smtp.sina.com.cn";
            String from =   "[email protected]";
            String to = "[email protected]";
            String username = "javamail";
            String password = "password";            // Get system properties
            // Properties props = System.getProperties(); 很多例子中是这样的,其实下面这句更好,可以用在applet中
            Properties props = new Properties();            // Setup mail server
            props.put("mail.smtp.host", host);
            props.put("mail.smtp.auth", "true"); //这样才能通过验证            // Get session
            Session session = Session.getDefaultInstance(props);            // watch the mail commands go by to the mail server
            session.setDebug(true);            // 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
            message.saveChanges();
            Transport transport = session.getTransport("smtp");
            transport.connect(host, username, password);
            transport.sendMessage(message, message.getAllRecipients());
            transport.close();
      }
}

解决方案 »

  1.   

    感谢你们了.可我的SMTP server设置的是anonymous访问啊!有一点忘记对大家说了,我在运行这个程序时,用一个远程的不需要authentication的SMTP server发的时候,则完全可以正常发送的,并且可以收到的.如果大家用时间,可以用你本地SMTP server测一下.
      

  2.   

    问题出在你的Mail Server,你先下面的测试,确认以下是不是有Anti-Reply及Authenticate-SMTP的设定:
    telnet smtphost  25
    mail from: your email address
    rcpt to: [email protected]
    data
    subject: Test
    aaa
    aaa
    .
    如果上述信息提交完后,你能在163受到邮件,说明邮件系统没有问题,仔细检查你的程序!!!
    否则好好配置SMTP Server
      

  3.   

    To  machozhao(Macho)老兄:
    telnet 192.x.x.x 25 后就出现了一行:
     "220 hanke Microsoft ESMTP MAIL Service, Version: 5.0.2195.2966  ready at  Thu, 16 Jan 2003 09:12:56 +0800"再按照老兄的指导连续输入(不会是输入一行再回车吧?):
      mail from: [email protected] rcpt to: [email protected] data subject: test aaa aaa  再回车,只返回了一条信息:
      "503 5.5.2 Send hello first" 再就没有任何反应了(也收不到mail).我的SMTP server应该说已给了客户端最大的权利了.老兄你的SMTP server关键处是怎么搞的呢?
      

  4.   

    不好意思,在刚才开始的时候没有输入"EHLO",后面的命令怎么搞我知道了(其实这不就是和用Outlook一样吗?),谢谢machozhao(Macho)老兄.
      

  5.   

    开玩笑!!!想给就给
    最近发现很多同志在做JavaMail的应用,很欣喜。几年前我们做JavaMail和Mail Server开发的时候,真的找不到同志帮忙,很累!!!
    你们做什么应用???
      

  6.   

    我们公司的项目太大了,我先后做了几个部分,与xml,net,mail,security(代码访问控制)有关的模块,由于工作上有的东西java根本上就解决不了,以前在学校选修的C++要重新捡起来了.