关于这个问题:我的理解思路是:
我找到tmailercommon项目下的com.tmailer.common.util.HttpUtil这个类中的这个方法
public static String encodeFilename(Browser browser, String filename) {
if (StringUtil.isAsciiString(filename) && filename.indexOf('"') == -1)
return '"' + filename + '"';
try {
if (browser == Browser.IE)
//since URLEncoder.encode() limit 153 bytes,so modify by zhongdh 20091116
// return URLEncoder.encode(filename, "utf-8");
return new String(filename.getBytes("gb18030"), "ISO8859-1");
//end
else if (browser == Browser.FIREFOX)
return '"' + MimeUtility.encodeText(filename, "utf-8", "B") + '"';
else
return '"' + MimeUtility.encodeText(filename, "utf-8", "B") + '"';
} catch (UnsupportedEncodingException uee) {
return filename;
}
}
发现IE与firefox是有分别处理的,所以一开始我也按照firefox的处理方式测试了下,结果发现在IE根本是不支持base64的
或许firefox是支持base64所以它的头信息是不会这么长。而大部分用户都是用windows系统,而该系统的文件名也是有限制的,我昨天测试了下好像是不能超过30个字。所以firefox支持base64貌似没有限制。而IE是支持URLEncoder.encode这个编码,在头信息中,如果文件名很长,头信息是变得很长,而且的都是%d之类的。所以就试试使用最原始的转化编码的方式,即new String(filename.getBytes("gb18030"), "ISO8859-1"); 而这里是要使用ISO8859-1因为它是url传过来的。
分享到:
相关推荐
尽管使用Jmail通过JavaScript在网页中发送带有附件的邮件在特定环境下仍然可行,但由于其兼容性和安全性问题,这种方法并不推荐用于现代Web应用。对于需要跨平台、高安全性的邮件发送需求,更建议采用邮件API服务或...
在VB(Visual Basic)编程环境中,发送带有附件的电子邮件是一个常见的需求。VB6(Visual Basic 6.0)是这个任务的经典实现环境。本篇将详细介绍如何使用VB6编写程序来实现无控件发送带附件的邮件。 首先,我们需要...
本教程将详细讲解如何使用C#实现一个能够发送带有附件的邮件功能,以满足实际开发需求。我们将主要涉及SMTP(Simple Mail Transfer Protocol)协议以及.NET Framework提供的MailMessage和SmtpClient类。 首先,我们...
在PHP中发送带附件的邮件是一项常见的任务,尤其在网站后台功能开发中,例如用户注册确认...希望这个教程能帮助你解决PHP发送带附件邮件的问题。如果你遇到任何困难,记得查阅PHPMailer的官方文档或在线社区寻求帮助。
在Java中,我们可以使用JavaMail API来实现邮件的发送,包括带有附件的功能。以下是对这个主题的详细解释: 一、JavaMail API简介 JavaMail API是一个开源的Java库,用于处理邮件服务。它提供了丰富的接口和类,...
在.NET框架下,实现带有附件的邮件发送是一项常见的需求,特别是在企业级应用中,这种功能对于报告、通知或数据共享尤为重要。以下是从给定代码片段中提取的关键知识点,以及对邮件发送过程的深入解析。 ### 关键...
"javaemail发送邮件(带附件)" javaemail发送邮件(带附件)是使用Java技术实现的邮件发送功能,...javaemail发送邮件(带附件)功能需要精心设置邮件参数、捕获异常、处理多线程等问题,以确保邮件发送的稳定性和安全性。
在PHP中发送带有附件的电子邮件是一项常见的任务,尤其在网站需要提供下载链接或者发送报告时。这个主题将深入探讨如何实现这一功能,并基于提供的“attachmail”文件进行讲解。 首先,PHP内置了一个`mail()`函数,...
【标题】:“带附件的发送邮件JSP程序” 在IT领域,JSP(JavaServer Pages)是一种基于Java的服务器端脚本语言,用于创建动态网页。这个“带附件的发送邮件JSP程序”是一个功能丰富的应用程序,允许用户通过网页界...
### 自动发送不同联系人带附件邮件的Outlook宏步骤详解 #### 1. 邮件信息写入Excel 首先,创建一个Excel表格,用于存储所有待发送邮件的详细信息,包括收件人的邮箱地址、邮件主题、邮件正文以及附件路径。这一...
用Delphi2010 实现邮件附件收发功能 TIdPOP3组件简介 TIdPOP3 是用来接收邮件服务器的邮件信息到用户端的一个组件。它实现了RFC 1939协议。 在使用TIdPOP3组件时需设置它的几个成员属性。 Host :指定邮件服务器,...
在IT行业中,发送带附件的邮件是一项常见的任务,特别是在自动化工作流程、客户服务或者内部通信中。这个场景通常涉及到编程,特别是使用Java语言进行邮件开发。本文将深入探讨如何使用Java来实现这一功能。 首先,...
好看的jenkins配置发送邮件模板带附件详情+总览+报告. 效果如下图:https://img-blog.csdnimg.cn/20191011110225308.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9...
总结来说,"C++带附件邮件发送"这一主题涵盖了网络编程、SMTP协议、邮件格式化和可能的第三方库使用等多个IT知识领域。通过学习和实践这个项目,开发者不仅可以提升C++编程技能,还能深入理解电子邮件系统的运作机制...
总结来说,"vb带附件发邮件最终版本"是通过VB利用.NET框架的邮件服务类库实现的,它整合了SMTP服务器设置、邮件信息构建和附件添加等功能,提供了一个完整的邮件发送解决方案。开发者可以根据自己的需求进行定制和...
Kettle JOB执行出错,发送带附件的邮件
* 可以发送带附件的邮件,附件大小限制由发送方服务器而定,暂未测试具体为多少MB * 附件可以是多个 * 邮件内容和主题可以是空,但当有附件时,主题取第一个附件的文件名(不含扩展名) * 密码验证均为base64加密 * ...
以下是一个简单的发送邮件带附件的Java代码示例: ```java ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010_SP1); ExchangeCredentials credentials = new WebCredentials(...
标题 "Spring 使用163发邮件带附件" 涉及到的是在Java开发中,使用Spring框架发送电子邮件,特别是包含附件的邮件。这通常在系统需要自动化通知、报告发送或者用户验证过程中非常常见。Spring提供了JavaMailSender...
4. **邮件下载流程**:使用POP3协议,首先需要连接到邮件服务器,然后进行身份验证,接着列出邮箱中的邮件,选择需要下载的邮件,最后下载邮件内容,包括附件。 5. **邮件附件**:邮件可能包含一个或多个附件,这些...