把mimeMessage.setFrom(new InternetAddress("[email protected]",name))中的"[email protected]"用一个变量来替代,这个变量可以是用户输入的表单值,这样就行了啊

解决方案 »

  1.   

    Address from_address = new InternetAddress(from, displayName);  
    msg.setFrom(from_address);  其中的from是你的发件人的邮箱地址
    displayName 是发件人的姓名更详细的有关发发送Email的请参考http://code.java2000.net/p177
      

  2.   


       这位老兄可能理解错了我的意思了,说实在话,我代码里这个就是用变量的,这跟指定某一邮箱地址作为发件人显示地址有关系吗?这样只能实现不同的邮箱地址发送,显示指定的发件人姓名罢了呀
       这样说吧,我不管用那个邮箱发,收到者见到的发件人邮箱地址都是[email protected],如何实现的了?   补充:自己研究了一下,认为应该从MimeMessage的方法中找,我查了一下方法,只有sender(...)有点戏,我试了一下,不用setfrom(...),用sender(...),里面也只能是发件人的邮箱地址才可以发的,发是发成功了,但收到者,看到的发件人地址与姓名却都是空的,这就实现了有的人想要匿名发送的功能了(不过这也不是我想要的功能啦),我天真的以为,匿名功能都能实现了,那指定的发件人,那不是小菜一碟啊!我以为,现在再加上mimeMessage.setFrom(new InternetAddress("[email protected]",name)),这句应该就OK了,可我错了,加上后,要不能发了。郁闷啊。于是我又用上:mimeMessage.setFrom(new InternetAddress("[email protected]",name)) 和sender(new InternetAddress("[email protected]",name))这两句,以为这样可以了,没想到,唉,还是不行看来这个分真不是那么好拿的啦
      

  3.   

    我想应该说明几个邮箱的用途吧
    1,验证邮箱,这个帐户是程序和邮件服务器进行验证而用,这个验证通过了,由谁发送都是允许的;
    2,发送邮箱,发送人的地址,一般要和验证邮箱后面的域名一致,最好和1是一样的,否则有很多邮件接受客户端会自动认为是垃圾邮件;
    3,回复邮箱,邮件接受人回复mail时自动引用的邮箱地址
      

  4.   


    如果这三个邮箱可以不为同一个邮箱的话,我知道问题出在哪了,我验证邮箱和发送邮箱变成了同一个邮箱了.
    如果mimeMessage.setFrom(new InternetAddress("[email protected]",name)),只是设置发送邮箱的话,那我的验证邮箱在哪里设置呢?
    怎么设置呢?好像我看了参考代码,都没发现什么验证邮箱的问题,只是如下设置:
    props.put("mail.smtp.host", smtpHost);
    props.put("mail.smtp.port", 25); 
    props.put("mail.host",smtpHost);
    props.put("mail.transport.protocol","smtp");
                    props.put("mail.smtp.auth", "true");  请问: 验证邮箱是不是也是设在props中呢?比如这样设置:props.put("[email protected]", smtpHost)呢?  总之,我是不是设验证邮箱,于是发送邮箱自动也成了验证邮箱的呢?
    请诸位继续赐教啦!
      

  5.   

    楼主可以有空学习下apache的common mail,是基于javamail的,使用更简单方面,呵呵。
      

  6.   

    message.setFrom(new InternetAddress("[email protected]","[email protected]", "GB2312"));就行了,但是QQ的仍然显示原来的地址,如果你说要真正意义的“[email protected]”,那是不可能的,除非你用自己的邮件服务器!SMTP协议中不能伪装!我也请教一下高手们,为什么在QQ邮箱中仍然显示原来的发件人地址,而不显示伪装后的地址!谢谢!