使用JavaMail 问题,可以成功发送邮件,可是接收到的中文部分显示乱码,不知是否跟系统有关,服务器的配置是FreeBSD 5.3-RELEASE +Resin/2.1.14 .
代码如下:
try {
Properties props = new Properties();
props.put("mail.smtp.host", smtphost);
props.put("mail.smtp.auth","true");
Session ssn = Session.getInstance(props, null);
MimeMessage message = new MimeMessage(ssn);
InternetAddress fromAddress = new InternetAddress(from);
message.setFrom(fromAddress);
InternetAddress toAddress = new InternetAddress(to);
message.addRecipient(Message.RecipientType.TO, toAddress);
message.setSubject(new String(subject.getBytes("ISO8859_1"),"GBK"));
message.setText(new String(body.getBytes("ISO8859_1"),"GBK"));
Transport transport = ssn.getTransport("smtp");
transport.connect(smtphost, user, password);
transport.sendMessage(message, message.getRecipients(Message.RecipientType.TO));
//transport.send(message);
transport.close();
out.println(subject+"<br>");
%><p>你的邮件已发送,请返回。</p><%
} catch(Exception m) {
out.println(m.toString());
}%>