因为,邮件内容和FROM,TO的都在数据库里,很多条。所以,不可以只用一个FROM地址来设置USER,PASSWORD来通过验证。
是否有直接发送的代码可以参考?

解决方案 »

  1.   

    发送邮件可以不用添from地址,甚至你可以添上1234,发送是不对from地址做校验,from地址的作用是为了对方回复时方便填写。发送邮件必须通过一个指定的smtp,但是可以不对user和password进行校验。
    javamail代码很简单
    Properties props = System.getProperties();
    props.put("mail.smtp.host", host);
    Session session = Session.getDefaultInstance(props, null);
    MimeMessage message = new MimeMessage(session);
    message.addRecipient(Message.RecipientType.TO,
      new InternetAddress(to));
      message.setSubject("test");
      message.setText("hello world!~");  Transport.send(message);mail.smtp.host是你指定的smtp服务器,如果想校验用户名密码的话Session.getDefaultInstance(props, authenticator);就可以了
      

  2.   

    因为,邮件内容和FROM,TO的都在数据库里,很多条。所以,不可以只用一个FROM地址来设置USER,PASSWORD来通过验证。 
    是否有直接发送的代码可以参考? 
    =============================
    显然是不可以的。
    发送邮件必须要有一个smtp服务器,通常所用的是linux自带的postfix作为smtp服务器,是否需要认证也是由mailserver配置的。具体内容可以MSN联系:
    [email protected]自我感觉已经是非常熟悉了。
      

  3.   

    感謝bo_83 ,結果依然是需要验证。Sender address rejected: not logged in。谢谢,luyang1016,我这里是多个邮件要发送,每个邮件的FROM不同,所以验证的话,估计很麻烦。各位还有其他解决方法吗?
      

  4.   

    是不是我原理理解问题,就是说我这里是多个邮件要发送,每个邮件的FROM不同,验证的话只要一个超级发送权限的用户密码就可以了?
      

  5.   

    写循环不是我要的答案。
    请问验证的用户密码不需要是FROM的用户密码?
      

  6.   

    Sender address rejected: not logged in ??? 不知到你用的是什么邮件服务器,先详细了解一下它如何配置标准的smtp服务发送邮件,是一定不会管你from怎么写的,甚至都不用校验登录者。原理也很简单,你可以用命令行试着发发信,也很简单 具体命令记不得了 网上一搜一大把 呵呵~