使用ssl方式发送邮件的时候标题和内容中间的乱码是什么东东?求各位解答。
应该是邮件的头文件,估计保存了一些邮件发送接收服务器之间相联系的加密信息.密钥什么的.######
你是想发送附件?我是用的common-email 组件,有做封装的,你有兴趣的话,可以看下它的源码吧.如果只是想实现功能的话,其实很简单的:
/** * 发送邮件,包含多个附件,发件人等配置信息在email.properties中配置 * @param addr 收件人地址 * @param subject 邮件主题 * @param content 邮件内容 * @param paths 多个附件地址 */ public static void sendEmail(String addr,String subject,String content,String[] paths) { Pattern p = Pattern.compile("^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$"); if(StringUtils.isBlank(addr) || !p.matcher(addr).matches()) { throw new IllegalArgumentException("the addr is not a legal email addrs:" + addr); } Map<String,String> map = EmailUtils.loadEmailConfig(); HtmlEmail email = new HtmlEmail(); try { email.setHostName(map.get("email.hostname")); email.setCharset(map.get("email.charset")); email.addTo(addr); email.setFrom(map.get("email.sender")); email.setAuthentication(map.get("email.auth.user"), map.get("email.auth.pwd")); email.setSubject(subject); email.setHtmlMsg(content); /** * 添加附件 */ for(EmailAttachment att : getAttachs(paths)) { email.attach(att); } email.send(); } catch (EmailException e) { e.printStackTrace(); } } private static List<EmailAttachment> getAttachs(String[]paths) { List<EmailAttachment> attachs = new ArrayList<EmailAttachment>(); if(paths != null) { for(String path : paths) { EmailAttachment attach = new EmailAttachment(); //解决附件的中文名称 乱码问题 */ String encoding = System.getProperty("file.encoding"); sun.misc.BASE64Encoder enc = new sun.misc.BASE64Encoder(); String[] str = path.split("\\\\"); String title = str[str.length-1]; attach.setName("=?"+encoding+"?B?"+enc.encode(title.getBytes())+"?="); attach.setPath(path); attachs.add(attach); } } return attachs; }
我的意思是。我发送一封邮件的时候附件是*.doc或者别的文件。
然后我用二进制读取之后传一个byte数组到发送邮件的地方。
我发送的邮件中附件是有,但是附件中全部是乱码。
######不太明白,你是想要读取邮件的附件么?######@梦无涯 不是的,先读取一个文件为二进制。
然后把读到的二进制数组传到发送邮件的方法。最后发送出去。
并不是读邮件的附件。这个图片是我在附件里面打开时候显示的乱码。也就是附件的内容是乱码。
######如果只是乱码问题,应该可以着手解决一下,程序转换一下编码格式什么的,应该可以解决吧.######乱码的话,参考下这边的解决方案吧. http://bbs.csdn.net/topics/110144296######@梦无涯 这些都试过了。不行的。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。