JavaMail在发送同时带有正文和附件的时候,出现正文不显示的情况,原因是MimeBodyPart既设置了正文,又添加了附件内容,现解决如下:
Multipart multipart = new MimeMultipart();
MimeBodyPart textBodyPart = new MimeBodyPart(); // 用来设置正文的
textBodyPart.setText("这里是正文");
multipart.addBodyPart(textBodyPart);
MimeBodyPart attrBodyPart = new MimeBodyPart(); // 用来设置附件的
DataSource dataSource = new FileDataSource(new File("filePath"));
attrBodyPart.setDataHandler(new DataHandler(dataSource));
// 设置编码格式,使附件能正常显示中文名
attrBodyPart.setFileName(MimeUtility.encodeText("fileName", "GBK", "B"));
multipart.addBodyPart(attrBodyPart);
message.setContent(multipart, "text/html;charset=gbk");
Transport.send(message); // 发送邮件
分享到:
相关推荐
总的来说,JavaMail提供了一套丰富的API来处理复杂的邮件任务,包括发送带附件的邮件。通过`MimeMultipart` 和 `MimeBodyPart`,我们可以方便地组织邮件的结构,添加各种内容和附件,从而实现功能丰富的邮件服务。
06 使用JavaMail发送带附件的邮件.exe06 使用JavaMail发送带附件的邮件.exe
本教程将详细讲解如何使用JavaMail API在Gmail上发送邮件,包括不带附件和带有一个附件的情况。 首先,JavaMail是一个开源的Java库,它提供了用于处理邮件的标准API。在使用JavaMail发送邮件前,你需要在项目中引入...
以上就是使用JavaMail发送带附件的邮件的基本流程。需要注意的是,实际应用中可能需要处理更多复杂情况,例如错误处理、SSL/TLS加密连接、多部分邮件(包含HTML内容和文本内容)等。同时,确保你有正确的SMTP服务器...
这个标题"JavaMail发送邮件(文本、html、附件)"涵盖了使用JavaMail API发送不同格式邮件的核心功能。下面将详细介绍如何利用JavaMail发送文本、HTML和包含附件的邮件,以及在实际应用中需要注意的配置步骤。 1. *...
下面是一个简化的JavaMail发送邮件的过程: 1. **配置邮件会话**:首先,我们需要创建一个`Properties`对象,并设置SMTP服务器的相关参数,如主机名和端口号。然后,通过`Session.getInstance()`方法初始化一个邮件...
这个资源提供了一个具体的示例,展示了如何使用JavaMail API 来发送带有附件的邮件。以下是对这个主题的详细解释: 首先,你需要理解JavaMail的核心组件。`javax.mail` 和 `javax.mail.internet` 包含了发送邮件所...
### JavaMail发送邮件时遇到的问题及解决方法 在使用JavaMail进行邮件发送的过程中,可能会遇到以下几种常见问题:发送成功但收件方未收到邮件、邮件收到后无主题或无收件人信息以及邮件内容出现乱码等情况。本文将...
这个“javamail发送邮件.zip”压缩包显然包含了一个示例项目,演示如何使用JavaMail API发送包含正文文本、图片以及附件的邮件。以下是对这个主题的详细解释: 1. **JavaMail API**: JavaMail API 是一组接口和类...
下面是一个简单的JavaMail发送邮件的步骤: 1. **导入必要的库**:首先,在项目中导入`mail.jar`和`activation.jar`,确保编译和运行时能够访问到这些库。 2. **配置邮件会话**:创建一个`Properties`对象,设置...
下面我们将深入探讨JavaMail的基本概念、如何使用JavaMail发送邮件以及在Struts2框架中的实现方式。 JavaMail API主要包括以下组件: 1. `javax.mail.Session`:是JavaMail的核心,负责配置邮件服务器的信息,如...
JavaMail邮件发送(带附件)
6. **发送邮件**:使用`Transport`类的`send()`方法发送邮件。 ```java Transport.send(message); ``` 7. **添加附件**:如果需要发送附件,可以使用`Multipart`和`BodyPart`类。创建一个`MimeMultipart`对象,...
message.setSubject("JavaMail发送邮件示例"); message.setText("这是邮件的正文内容"); ``` 为了添加附件,我们需要使用`Multipart`对象。`MimeBodyPart`用于存储附件内容,而`MimeMultipart`用于组合多个`...
在这个例子中,我们将详细探讨如何使用JavaMail发送邮件,包括SMTP认证、添加附件以及发送HTML内容的邮件。 首先,为了使用JavaMail API,我们需要引入相应的库。在这个例子中,`javamail`和`JAF`(JavaBeans ...
2. **SMTP服务器配置**: 在使用JavaMail发送邮件时,首先需要配置SMTP服务器的相关信息,包括主机地址、端口号、用户名和密码。这些信息通常在应用的配置文件中定义,以便在程序运行时加载。 3. **MIME消息**: ...
总的来说,"Android使用javamail发送邮件"这个主题涵盖了Android平台上利用JavaMail API实现邮件发送的基本流程和注意事项,包括设置SMTP服务器、构建邮件消息、处理附件以及可能的安全性和用户体验优化。...
JavaMail 是一个强大的开源库,用于在Java应用程序中发送...以上就是使用JavaMail发送邮件的详细过程,以及与文本编辑器KindEditor的集成方式。在开发过程中,记得根据具体需求调整和优化代码,以满足不同的业务场景。
下面是一个使用JavaMail发送邮件的详细示例代码: ```java import javax.mail.*; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; public class EmailSender { public ...