问题标签 [jakarta-mail]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2288 浏览

java - 从应用程序之间传递 java 邮件消息对象

我正在使用 java mail api 1.4.1 来获取新电子邮件。两个类被用来获取电子邮件然后解析它。“GetMail”类与邮件服务器(Gmail、雅虎等)通信并获取消息对象。然后将消息对象传递给另一个类“MailFormatter”类,然后解析消息对象,获取电子邮件标头(From、To、Subject 等),然后解析 Multipart 内容以获得主体和附件。因为“邮件获取”和“邮件格式化”过程都非常耗费资源,这些类将作为单独的 Web 应用程序实现。此应用程序将监视新电子邮件中的大量电子邮件 ID。如果这些(“GetMail”和“MailFormatter” ") 被实现为单独的 Web 应用程序,如何将消息对象从“GetMail”应用程序传递到“MailFormatter”应用程序?有没有一种方法可以将获得的消息对象保存在某个位置(“GetMail”和“MailFormatter”应用程序都通用的位置),以便“GetMail”可以将消息对象保存在该位置,并且然后“MailFormatter”应用程序可以从该位置读取“消息”对象并执行解析过程。消息对象不能被序列化。如果它们不能被序列化,我该如何保持 java 邮件消息对象的状态?请帮我解决这个问题。应用程序 ?有没有一种方法可以将获得的消息对象保存在某个位置(“GetMail”和“MailFormatter”应用程序都通用的位置),以便“GetMail”可以将消息对象保存在该位置,并且然后“MailFormatter”应用程序可以从该位置读取“消息”对象并执行解析过程。消息对象不能被序列化。如果它们不能被序列化,我该如何保持 java 邮件消息对象的状态?请帮我解决这个问题。应用程序 ?有没有一种方法可以将获得的消息对象保存在某个位置(“GetMail”和“MailFormatter”应用程序都通用的位置),以便“GetMail”可以将消息对象保存在该位置,并且然后“MailFormatter”应用程序可以从该位置读取“消息”对象并执行解析过程。消息对象不能被序列化。如果它们不能被序列化,我该如何保持 java 邮件消息对象的状态?请帮我解决这个问题。消息对象不能被序列化。如果它们不能被序列化,我该如何保持 java 邮件消息对象的状态?请帮我解决这个问题。消息对象不能被序列化。如果它们不能被序列化,我该如何保持 java 邮件消息对象的状态?请帮我解决这个问题。

0 投票
1 回答
502 浏览

java - 在 Web 应用程序之间共享消息对象

我需要在两个 Web 应用程序(A 和 B)之间共享 java 邮件消息对象。

WebApplication A 获取消息并将其写入 outputStream

FileOutputStream 是持久化消息对象的最佳输出流吗?是否可以使用 ObjectOutputStream 进行消息对象持久化?

WebApplication B 通过 InputStream 读取消息对象

如果已经通过 WebApplication A 写入的邮件消息对象不是 MimeMessage 怎么办?如何使用输入流读取非 mime 消息?

MimeMessage 构造函数要求 sessionObj 作为第一个参数?如何在 WebApplicationB 中获取此 sessionObj?我是否必须再次与电子邮件服务器建立具有相同电子邮件 ID、电子邮件密码、popserver 和端口(已在 WebApplication A 中使用)的存储连接才能获得此会话对象?即使获得了,这个会话对象会不会和之前在WebApplicationA中获得的会话对象保持一致?

由于我使用 uid 来命名 Message 对象(为了保持文件名的唯一性),我如何在 WebApplication A 和 WebApplication B 之间共享这些 uid?WebApplication B 需要 uid 才能访问“F:/MessagesPersistedFolder”中存在的特定文件

请帮助我解决上述问题。

0 投票
1 回答
606 浏览

jakarta-mail - 在 Web 应用程序之间使用 java 邮件消息对象

我正在开发一个充当移动电子邮件客户端的 Web 应用程序。在此应用程序中,用户可以登录并提供大量电子邮件 ID 进行监控。Web 应用程序中有两个主要类。1.MailGetter 2.MailFormatter

MailGetter 类的行为:

  1. Timertask 已启动,每 10 分钟执行一次
  2. 从数据库中获取大量用于监控的电子邮件 ID
  3. 为第一个电子邮件 ID 建立与邮件服务器的连接并获取最近到达的电子邮件消息对象
  4. 将消息对象传递给 MailFormatter 类

MailFormatter 类的行为:

  1. 解析电子邮件消息对象
  2. 如果消息有许多多部分,则进行各种递归调用,以便一一解析
  3. 连同此消息一起下载附件
  4. 向 MailGetter 类返回一个 xml 字符串,该类将存储为具有以下内容的简单文本文件:

例子:

MobileResponderServlet:Web 应用程序中还编写了一个单独的 servlet,它将读取简单的 xml 文本文件并将读取的内容发送到移动设备

此应用程序的主要缺点可能是“MailGetter”类将等待“MailFormatter”类的所有函数(包括递归调用)执行完毕。一旦控件从“MailFormatter”类返回到“MailGetter”类,它将从邮件服务器获取下一个消息对象并将其传递给“MailFormatter”类。因此向移动用户提示新电子邮件会消耗时间。即使“MailFormatter”类被实现为一个单独的线程,考虑在单个收件箱中是否有 1000 封新电子邮件(对于单个 emailid),这将调用 1000 个“MailFormatter”线程,这将使进程获得更多资源密集的。

所以我决定从“MailGetter”中拔出“MailFormatter”。“MailGetter”将作为单独的 Web 应用程序在一个服务器中运行,而“MailFormatter”将作为单独的 Web 应用程序在另一台服务器中运行。在获得最近的电子邮件消息对象“MailGetter”后,Web 应用程序(通过 message.writeTo(FileOutputstream))将消息对象保留在“MailFormatter”也常见的位置。然后“MailFormatter”类读取(通过 MimeMessage(Session,InputStream) 构造函数)并逐个解析消息对象,然后将“XML 内容”存储在另一个位置,该位置将由“MobileResponderServlet”读取并发送到移动设备。

这个过程会实时有效吗?这是否会出现问题,尤其是在“MailGetter”和“MailFormatter”Web 应用程序之间共享消息对象时?如果还有其他方法,请告诉我。此 Web 应用程序将处理 5000 多个用户(最少),这些用户提供了大量的电子邮件 ID 进行监控。

0 投票
2 回答
1426 浏览

email - 从 Web 应用程序发送电子邮件的推荐方式?

我在 JBoss 4.2.3 上有一个网络应用程序,我希望它可以发送电子邮件。我可以做类似的事情:

但感觉不对。这会扩展吗?

0 投票
5 回答
5836 浏览

java - 无法在 Google App Engine 上发送电子邮件

我曾尝试使用 Javamail 发送电子邮件。但是,我收到以下消息:

我尝试从管理员帐户(我用来上传应用程序)以及我登录应用程序的用户帐户发送电子邮件。(来自UserService - getCurrentUser().getEmail())都失败了。

我想知道我是否需要设置任何特殊设置?

0 投票
2 回答
3224 浏览

java - 发送电子邮件,使“发件人”是名称或文本,而不是真实的电子邮件地址

我正在使用 Java Mail API 发送电子邮件。当在收件箱中收到电子邮件时,它会显示用于发送电子邮件的电子邮件地址。我想隐藏来自电子邮件地址并显示一些文本。我认为这是可能的,因为当我收到来自 facebook 的电子邮件时,收件箱中会显示“Facebook - 电子邮件主题”而不是“xyz@facebook.com - 电子邮件主题”。

我想使用 Java Mail API 做同样的事情。

提前致谢。:)

0 投票
5 回答
56400 浏览

java - 使用 JavaMail 发送邮件时出现 javax.net.ssl.SSLException

任何人都可以帮助我使用代理使用 JavaMail API 发送邮件吗?

0 投票
1 回答
1204 浏览

java - 尝试在 Java 中发送电子邮件的连接异常

我正在使用 Javamail API 尝试在我的 Java 代码中发送电子邮件。问题发生在特定线路上。

部分代码是:


错误发生在代码的 c.connect() 行。我得到的错误是:

这就是我得到的所有描述。我不确定如何解决这个问题。请帮忙。

0 投票
6 回答
1167 浏览

java - 让多个 Java pop3 客户端与 GMail 一起工作

我用 Java 编写了一个很好的程序,它连接到一个 gmail 帐户并下载发送给它的附件。下载附件后,它会被标记为已读,并且不会再次下载。该程序必须在多个实例中运行,每个程序都下载唯一的附件,这样一个附件就不会被下载两次。问题是,如果附件大小合适,一个程序仍在下载它,而另一个实例连接并在附件被标记为已读之前也开始下载该附件。

我尝试检查和设置各种标志并检查文件夹是否打开,似乎没有任何效果。有什么解决办法吗?

更新:感谢您的快速回答,遗憾的是,由于其他原因,IMAP 不是一个选项。

0 投票
3 回答
30343 浏览

java - Exchange 服务器将不接受 javax.mail API 提供的用户名/密码

我有一个可爱的小 Java 客户端,可以发送签名的电子邮件。我们有一个需要用户名/密码身份验证才能发送消息的 Exchange 服务器。

当我连接到交换服务器时,我收到此错误:

当我连接到其他服务器(Unix 服务器)时,我没有问题。

下面是完整的调试跟踪。我想不通。