String from=request.getParameter("from");/提交表单
newMessage.setFrom(new InternetAddress(from));

解决方案 »

  1.   

    这样不行的,如果你用的SMTP邮件服务器是smtp.21cn.com,那么
    newMessage.setFrom(new InternetAddress(from));
    from只能是以@21cn.com开头的邮箱,如果换成其它邮箱就会报错,会不会是要认证的原因,希望高手指正
      

  2.   

    用户名+(从smtp.21cn.com中)取21cn.com
      

  3.   

    如果我用smtp.21cn.com来发邮件,但是我指定收件人信箱时,想用[email protected]或者[email protected],这样好像不行
    还有用户名+(从smtp.21cn.com中)取21cn.com,这个不怎么理解,可否详细些,谢谢·!
      

  4.   

    错了,补证如下
    如果我用smtp.21cn.com来发邮件,但是我指定发件人信箱时,想用[email protected]或者[email protected],这样好像不行
    还有用户名+(从smtp.21cn.com中)取21cn.com,这个不怎么理解,可否详细些,谢谢·!
      

  5.   

    肯定不行了,你用21cn的服务器,发件人当然要用以21cn.com结束的e-mail地址.动态取得发件人的帐号(***)再加上固定的服务器(eg:smtp.21cn.com 截取21cn.com)
    不就是你要取得的发件人信箱***@21cn.com吗!
      

  6.   

    现在很多邮件服务器是有用户验证的,不是所有的邮箱都可以用21cn.com作为smtp服务器发邮件的
      

  7.   

    这句话我盾不懂,能不否给我一个实例
    动态取得发件人的帐号(***)再加上固定的服务器(eg:smtp.21cn.com 截取21cn.com)
    不就是你要取得的发件人信箱***@21cn.com吗!
    现在关键是我发件人信箱不是@21cn.com的也要行,也就是我想发件人不受smtp的限制!!!
      

  8.   

    那不可能实现的。
    除非你也动态的改变host
      

  9.   

    如果谁想发邮件必须输入两个参数:发件人的帐户和smtp服务器名称
    如果不想输入smtp服务器也行,就自己做一个没有用户验证的smtp服务器。
    用户验证的意义在于不是本邮件服务器的用户不允许通过本邮件服务器发送邮件,这也是防范垃圾邮件减少服务器负荷的一种方法。
      

  10.   

    谢谢以上各位朋友的帮助,感激不尽
    但是象阿里巴巴他们那个在线询价是如何做的,我想他们的邮件服务器应该是要验证吧,可是他们却可以设置发件人不为@alibaba.com,不知道是如何实现的!
      

  11.   

    现在很多都是要验证的
    说明它可以动态改变host
      

  12.   

    如果要改变动态host,那像不太现实,比如在我网站注册的一个会员,他的邮箱是[email protected],那么我要把host设置为abc.com,但是密码不知道啊,怎么办?
      

  13.   

    注册人不是有用户帐号,密码吗!也就是说该注册人拥有了使用该host的权利,你只是帮它发送!
      

  14.   

    那如果它是163.net.263.net的邮箱呢,这样不是发不出去了!!!
      

  15.   

    那就代发一下吗!我是说不可能出现:
    163.net.263.net
    这种形式的。
      

  16.   

    您的意思,应该如代发,这点小弟不懂啊,请详细一些!
    如果一个会员在我们网站上注册了一个会员用的信箱是[email protected]
    其它人向它在线询价时,发件人不可能是[email protected],因为我用的是smtp.21cn.com
    的,发件人我想用[email protected]
    请大家指教·!1
      

  17.   

    楼上的兄弟,这个很简单的,可以实现的,你只要在
    newMessage.setFrom(new InternetAddress("[email protected]",from));
    注意from是变量,你可以从数据库里取出来,给我高分啊,这个问题我也遇到过,希望对你有帮助!
      

  18.   

    发件人用[email protected]
    那host就改为:smtp.163.net
    为什么还用smtp.21cn.com
      

  19.   

    这是邮件服务商的smtp认证的必然,为避免垃圾邮件的发送,所以如果你发信人是其他的服务器的话,它就不认啦,不帮你转发的