CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  Web 开发

关于邮件乱码的问题!

楼主lgljz(lgljz)2003-06-03 08:41:04 在 Java / Web 开发 提问

我现在遇到一个问题:我用linux   (red   hat   8.0)做WEB服务器,我有一个功能,就是把表单提交的信息以邮件的形式发送出去,我实现的思路是这样的:从表单接受来的参数,我把这些参数都防到一个字符串里,然后对字符串进行转换:String   newstr=new   String(oldstr.getBytes("iso8859_1"),"gb2312"),然后把这个字符串设置为邮件正文:然后发送出去,可是收邮件的时候,却是乱码,下面是我的原代码,请高手帮忙!  
  我非常着急,问题解决后,一定高分增送!!!!!!!!!!!!!!!!!!  
  <%@   page   contentType="text/html;   charset=GB2312"   %>  
  <%@   page   language="java"%>  
  <%@   page   import="java.util.*"%>  
  <%@   page   import="javax.mail.*"%>  
  <%@   page   import   ="javax.mail.internet.*"%>  
  <%@   page   import   ="javax.activation.*"%>  
  <%@   page   import   ="javax.swing.*"%>  
  <%@   page   import   ="java.awt.*"%>  
  <%@   page   import=   "java.io.*"%>  
  <%@   page   import="java.io.FileWriter"%>  
  <%@   page   import="java.lang.String"%>  
   
   
  <%  
   
  //接受表单传过来的参数  
      String   company=request.getParameter("ddname")   ;  
      String   address=request.getParameter("addr")   ;  
      String   people=request.getParameter("people")   ;  
      String   phone=request.getParameter("phone")   ;  
      String   taiaddress=request.getParameter("taizhan")   ;  
      String   shebei=request.getParameter("shebei");  
      String   tianxian=request.getParameter("gaodu")   ;  
      String   pinlv=request.getParameter("ganrao")     ;  
      String   time=request.getParameter("time")   ;  
    //   String   changqiang=new   String(request.getParameter("changqian").getBytes("ISO8859_1"),"gb2312"   )   ;  
      String   texing=request.getParameter("texing");  
      String   chendu=request.getParameter("chengdu")   ;  
  String   content=request.getParameter("neirong")     ;  
  if(content.length()   >600)  
  {session.setAttribute("tscontent",content)   ;  
  %>  
   
  <jsp:forward   page="puanduan.jsp"/>  
  <%  
  }  
  /////////////////////////////////////////////////////////////////////////////////////  
  //把表单提交后的信息保存在一个字符串中  
  String   getcontent=   "                                                           干扰投诉内容\r\n"+  
                                        "         单位名称:"   +company+"\r\n"+  
                                      "         办公地址:"   +address+"\r\n"+  
                                      "         联系人:"+people+"\r\n"+  
                                      "         联系电话:"+phone+"\r\n"+  
                                      "         台站地址:"+taiaddress+"\r\n"+  
                                      "         设备名称及型号:"+shebei+"\r\n"+  
                                      "         天线高度和极化方式:"+tianxian+"\r\n"+  
                                      "         受干扰频率:"+pinlv+"\r\n"+  
                                      "         受干扰日期、时段:"+time+"\r\n"+  
                                      "         干扰特性:"+texing+"\r\n"+  
                                      "         干扰影响程度:"+chendu+"\r\n"+  
                                      "         申诉内容:"+content;  
   
  /////////////////////////////////////////////////////////////////////////////////////  
   
  ////////////////////////////////////////////  
  //定义发件人、收件人、主题等  
  //String   mes="您的信息未能提交,请重新提交";  
    String   havemes="";  
    String   tishi="";  
  String   zhuti="干扰投诉邮件";  
  //标题-->  
  String   message_subject=new   String(zhuti.getBytes("gb2312"),"iso8859_1")   ;  
  //定义邮件正文变量  
  String   mailcontent=getcontent;  
  out.println(mailcontent);  
  //正文  
  String   message_body="\r\n"+new   String(getcontent.getBytes("gb2312"),"iso8859_1")   ;  
  //JavaMail   Session对象  
  Session   psession;  
  //JavaMail   Message对象  
  Message   mesg;  
  Properties   props=new   Properties();  
  //设置邮件方式和接受邮件的主机(或域名)  
  props.put("mail.smtp.host","lic.gov.cn");  
  //身份认证  
  props.put("mail.smtp.auth",     "false");  
  psession=Session.getDefaultInstance(props,null);  
  //是否调试错误  
  psession.setDebug(false);  
  //开始处理邮件  
  try{  
    //创建一个邮件  
      mesg=new   MimeMessage(psession);  
      //FROM地址  
      mesg.setFrom(new   InternetAddress("tousuren@163.com"));  
      //TO地址;;;;   //这里自己添加收件人地址  
      InternetAddress   toAddress=new   InternetAddress("ligl@lic.gov.cn");  
      mesg.addRecipient(Message.RecipientType.TO,toAddress);  
      //设置标题  
      mesg.setSubject(message_subject   );  
    //设置正文  
      mesg.setText(message_body   );  
      //设置传送方式:smtp方式发送  
      Transport   transport   =   psession.getTransport("smtp");  
      //这里设置默认邮件的用户名和密码  
      transport.connect("lic.gov.cn",   "","");  
   
      ////////////////  
        //最后发送邮件  
      transport.send(mesg);  
      havemes="secuss";  
  }catch(Exception   e)  
  {  
  havemes="failure";  
  System.out.println(e);}  
  if(havemes=="secuss")  
      {tishi="您已经成功提交";}  
  else   if(havemes=="failure")  
  {tishi="您的信息未能成功提交,请稍后再试";}  
   
  %>  
  <html><head><title>发送邮件</title>  
  <jsp:include   page="../inc/headline.inc"   flush="true"/>  
  <link   rel=stylesheet   href="..\css\input.css">  
  </head>  
  <body   leftmargin="10"   topmargin="0"   marginwidth="0"   marginheight="0">  
  <table   width=760   height=400   align="center">  
  <tr>  
          <td   height="83"   valign="top"   colspan="5"   align="center">  
              <jsp:include   page="head.jsp"   flush="true"/>  
          </td>  
      </tr>  
  <tr   height="300"   width=760>  
      <td   align="center">  
          <table>  
              <tr   height=200><td   align="center"><font   size=4   ><%=tishi%></font></td></tr>  
              <tr   height=20><td   align="center"><a   href="../index.jsp"><img   src="img\rrr.gif"   border=0></a></td></tr>  
          </table>  
      </td>  
  </tr>  
  <tr><td><jsp:include   page="..\inc\foot.inc"   flush="true"/></td></tr>  
   
  </table>  
   
  </body>  
  </html>  
  问题点数:0、回复次数:5Top

1 楼kenshin_z(诸葛量)回复于 2003-06-05 16:55:27 得分 0

up!Top

2 楼dawnming(笨小孩)回复于 2003-06-05 17:43:18 得分 0

upTop

3 楼accp(教育改变生活)回复于 2003-06-05 18:17:04 得分 0

//设置正文  
      mesg.setText(message_body   );  
  把上面这句改成  
      mesg.setContent(message_body   ,"text/plain;charset=gb2312");Top

4 楼accp(教育改变生活)回复于 2003-06-05 18:21:00 得分 0

你的message_body用什么编码,就把charset指定为你用的编码~Top

5 楼dawnming(笨小孩)回复于 2003-06-05 19:45:36 得分 0

如果是写在bean中进行调用的话,写成mesg.setContent(message_body   ,"text/plain;charset=GBK");我尝试用mesg.setContent(message_body   ,"text/plain;charset=gb2312");但好像行不通Top

相关问题

  • exchang的OWA中邮件乱码问题。
  • aspmail发送的邮件出现乱码
  • 使用inotes6邮件出现乱码?
  • 关于邮件地址乱码问题!
  • 关于邮件乱码问题
  • 用jmail发送邮件,邮件主题会出现乱码?!
  • 做的发邮件程序发送的邮件是乱码,怎么办
  • 为什么邮件中的中文文字有时是乱码?
  • 向各位师兄请教一个“邮件乱码”问题
  • 求教用Oracle发送邮件的乱码问题!

关键词

得分解答快速导航

  • 帖主:lgljz

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo