您的位置:首页 > 编程语言 > Java开发

javamail 发送邮件 乱码处理

2009-03-19 10:45 387 查看

importjava.io.UnsupportedEncodingException;importjava.util.Date;importjava.util.Map;importjava.util.Properties;

importjavax.mail.Address;importjavax.mail.Message;importjavax.mail.Session;importjavax.mail.Transport;importjavax.mail.internet.InternetAddress;importjavax.mail.internet.MimeMessage;

publicclassSendMail{publicvoidsend(Mapmsg){//获取发件人邮件信息Stringtfrom=objToString(msg.get("email"));

//收件人Stringtto="";

StringBuffersubject=newStringBuffer();subject.append("(お問い合わせ-"+objToString(msg.get("syurui"))+")");subject.append(objToString(msg.get("kisyamei")));subject.append(objToString(msg.get("tantosyamei")));

StringBuffercontent=newStringBuffer();content.append(objToString(msg.get("toiawasei")));content.append("</br>");content.append("郵便番号:");content.append(objToString(msg.get("yubin1")));content.append("-");content.append(objToString(msg.get("yubin2")));content.append("</br>");

content.append("住所:");content.append(objToString(msg.get("PrefName")));content.append(objToString(msg.get("jyusyo")));content.append("</br>");

content.append("建物名:");content.append(objToString(msg.get("tatemonomei")));content.append("</br>");

content.append("TEL:");content.append(objToString(msg.get("telphone")));content.append("</br>");

content.append("FAX:");content.append(objToString(msg.get("fax")));

try{

Propertiesprops=newProperties();

//存储发送邮件服务器的信息props.put("mail.smtp.host","192.168.2.10");

//同时通过验证props.put("mail.smtp.auth","true");

//根据属性新建一个邮件会话,null参数是一种Authenticator(验证程序)对象Sessions=Session.getInstance(props,null);

//设置调试标志,要查看经过邮件服务器邮件命令//s.setDebug(true);

//由邮件会话新建一个消息对象Messagemessage=newMimeMessage(s);

//发件人的邮件地址Addressfrom=newInternetAddress(tfrom);

//设置发件人message.setFrom(from);

//收件人的邮件地址Addressto=newInternetAddress(tto);

//设置收件人,并设置其接收类型为TOmessage.setRecipient(Message.RecipientType.TO,to);

//设置主题message.setSubject(subject.toString());

//设置信件内容,发送一般文本格式的消息;//message.setText(content.toString());message.setContent(newString(content.toString()),"text/html;charset=UTF-8");

//设置发信时间message.setSentDate(newDate());

//存储邮件信息message.saveChanges();//message.set

//用于邮件的收发打操作。Transporttransport=s.getTransport("smtp");

Stringuser=tfrom.substring(0,tfrom.indexOf("@"));

//以smtp方式登录邮箱transport.connect("192.168.2.10",user,"060109");

//发送邮件,其中第二个参数是所有已设好的收件人地址transport.sendMessage(message,message.getAllRecipients());transport.close();

}catch(Exceptione){e.printStackTrace();}

}

/***将对象转换字符串,用来处理request.getParameterMap()中的值*@paramobj*@return*/privateStringobjToString(Objectobj){

if(obj!=null){

//判断对象是否是数组if(obj.getClass().isArray()){String[]value=(String[])obj;returncorrectDisplay(value[0]);}returncorrectDisplay(obj.toString());}return"";}


/***乱码处理*@paramtemp*@return*/privateStringcorrectDisplay(Stringtemp){try{temp=newString(temp.getBytes("ISO-8859-1"),"UTF-8");}catch(UnsupportedEncodingExceptione){e.printStackTrace();}returntemp;}}


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: