我要发送用户的密码到他的Email,怎么办?网上有很多代码,都是利用sina,163等公司的邮件服务器,都需要密码。假如不用别的公司的服务器,有免费好用的邮件服务器吗,怎么设置?

解决方案 »

  1.   

    用javamail嘛。
    網上很多資料吧。我搞過是用163來發的。感覺還不錯。試試吧。樓主
      

  2.   

    这个我也会啊,可是用163,sina等邮箱来发,安全吗?毕竟这个网站也从属于一个独立的公司啊。我想自己弄个邮件服务器。
      

  3.   

    JavaMail首先从SUN的网站上下2个包,很小,这2个包没有被包含在JSDK中……
    JavaMail类文件包和JAF(JavaBeans Activation Framework ) 
    一、导入包
    分别解压缩你下载的2个包,随便放哪里无所谓。我是放在JSDK文件夹下。然后分别找到mail.jar和activation.jar这2个包,复制下这2个包到 H:\jdk1.4\jre\lib\ext。如果你照着里面的README做,会报错的。二、编写代码
    2个页面(简单点,说明问题就行)
    表单:用来填写一些基本信息,发信者邮箱、收信者信箱、标题、邮件内容。
    JSP处理页面:用来发信。
    代码如下:(表单)
    <HTML> 
    <BODY> 
    <FORM action="sendmail.jsp" method="post"> 
    <TABLE align="center"> 
    <TR> 
    <TD width="50%"> 
    To:<BR><INPUT name="to" size="25"> 
    </TD> 
    <TD width="50%"> 
    From:<BR><INPUT name="from" size="25"> 
    </TD> 
    </TR> 
    <TR> 
    <TD colspan="2"> 
    Subject:<BR><INPUT name="subject" size="50"> 
    </TD> 
    </TR> 
    <TR> 
    <TD colspan="2"> 
    Message:<BR><TEXTAREA name="text" rows=25 cols=85></TEXTAREA> 
    </TD> 
    </TR> 
    </TABLE> 
    <INPUT type="submit" name="cb_submit" value=" Send "> 
    <INPUT type="reset" name="cb_reset" value=" Clear "> 
    </FORM> 
    </BODY> 
    </HTML> JSP页面代码:
    %@ page 
    import=" javax.mail.*, javax.mail.internet.*, javax.activation.*,java.util.*" 
    %> 
    <html> 
    <head> 
    <TITLE>JSP meets JavaMail, what a sweet combo.</TITLE> 
    </HEAD> 
    <BODY> 
    <% 
    try{ 
    Properties props = new Properties(); 
    Session sendMailSession; 
    Store store; 
    Transport transport; 
    String usr="××";//这里填写你发信者的邮箱地址
    String pwd="××";//这里填写你发信者的邮箱密码
    props.put("mail.smtp.host","smtp.××.com"); //这里填写你发信者的SMTP主机,如:smtp.sohu.com
    props.put("mail.smtp.user",usr);
    props.put("mail.smtp.password",pwd);
    props.put("mail.smtp.auth","true");
    sendMailSession = Session.getInstance(props,new Authenticator(){ 
    public PasswordAuthentication getPasswordAuthentication(){ 
    return new PasswordAuthentication("××", "××"); }//这里填写你发信者的邮箱地址和密码
    });//关键是这句,网上文档几乎没有,我查了大半天才查出来。如果你的邮箱是SMTP验证的,就得这么写。否则会报错。Session.getInstance(props)这个方法是针对SMTP不要求验证的,我的邮箱要验证,所以得这么写。
    Message newMessage = new MimeMessage(sendMailSession); 
    newMessage.setFrom(new InternetAddress(request.getParameter("from"))); 
    newMessage.setRecipient(Message.RecipientType.TO, new InternetAddress(request.getParameter("to"))); 
    newMessage.setSubject(request.getParameter("subject")); 
    newMessage.setSentDate(new Date()); 
    newMessage.setText(request.getParameter("text")); 
    transport = sendMailSession.getTransport("smtp");
    transport.send(newMessage); 
    %> 
    <P>Your mail has been sent.</P> 
    <% 

    catch(MessagingException m) 

    out.println(m.toString()); 

    %> 
    </BODY> 
    </HTML> 三、调试
    开启TOMCAT,调试一下就可以了。四、注意点
    在表单填写的发信者的邮箱地址千万记住要和JSP页面里的对应,否则会报错!
      

  4.   

    在表单填写的发信者的邮箱地址千万记住要和JSP页面里的对应,否则会报错
    ————————————————————————————————
    既然发送者的邮箱固定死了,那么就没必要在表单里填写了。
    你用的还是别的大公司的邮箱啊。我需要发送一些保密的信息,这样不妥吧。