问题标签 [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.
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 邮件消息对象的状态?请帮我解决这个问题。
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”中存在的特定文件
请帮助我解决上述问题。
jakarta-mail - 在 Web 应用程序之间使用 java 邮件消息对象
我正在开发一个充当移动电子邮件客户端的 Web 应用程序。在此应用程序中,用户可以登录并提供大量电子邮件 ID 进行监控。Web 应用程序中有两个主要类。1.MailGetter 2.MailFormatter
MailGetter 类的行为:
- Timertask 已启动,每 10 分钟执行一次
- 从数据库中获取大量用于监控的电子邮件 ID
- 为第一个电子邮件 ID 建立与邮件服务器的连接并获取最近到达的电子邮件消息对象
- 将消息对象传递给 MailFormatter 类
MailFormatter 类的行为:
- 解析电子邮件消息对象
- 如果消息有许多多部分,则进行各种递归调用,以便一一解析
- 连同此消息一起下载附件
- 向 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 进行监控。
email - 从 Web 应用程序发送电子邮件的推荐方式?
我在 JBoss 4.2.3 上有一个网络应用程序,我希望它可以发送电子邮件。我可以做类似的事情:
但感觉不对。这会扩展吗?
java - 无法在 Google App Engine 上发送电子邮件
我曾尝试使用 Javamail 发送电子邮件。但是,我收到以下消息:
我尝试从管理员帐户(我用来上传应用程序)以及我登录应用程序的用户帐户发送电子邮件。(来自UserService - getCurrentUser().getEmail()
)都失败了。
我想知道我是否需要设置任何特殊设置?
java - 发送电子邮件,使“发件人”是名称或文本,而不是真实的电子邮件地址
我正在使用 Java Mail API 发送电子邮件。当在收件箱中收到电子邮件时,它会显示用于发送电子邮件的电子邮件地址。我想隐藏来自电子邮件地址并显示一些文本。我认为这是可能的,因为当我收到来自 facebook 的电子邮件时,收件箱中会显示“Facebook - 电子邮件主题”而不是“xyz@facebook.com - 电子邮件主题”。
我想使用 Java Mail API 做同样的事情。
提前致谢。:)
java - 使用 JavaMail 发送邮件时出现 javax.net.ssl.SSLException
任何人都可以帮助我使用代理使用 JavaMail API 发送邮件吗?
java - 尝试在 Java 中发送电子邮件的连接异常
我正在使用 Javamail API 尝试在我的 Java 代码中发送电子邮件。问题发生在特定线路上。
部分代码是:
错误发生在代码的 c.connect() 行。我得到的错误是:
这就是我得到的所有描述。我不确定如何解决这个问题。请帮忙。
java - 让多个 Java pop3 客户端与 GMail 一起工作
我用 Java 编写了一个很好的程序,它连接到一个 gmail 帐户并下载发送给它的附件。下载附件后,它会被标记为已读,并且不会再次下载。该程序必须在多个实例中运行,每个程序都下载唯一的附件,这样一个附件就不会被下载两次。问题是,如果附件大小合适,一个程序仍在下载它,而另一个实例连接并在附件被标记为已读之前也开始下载该附件。
我尝试检查和设置各种标志并检查文件夹是否打开,似乎没有任何效果。有什么解决办法吗?
更新:感谢您的快速回答,遗憾的是,由于其他原因,IMAP 不是一个选项。
java - Exchange 服务器将不接受 javax.mail API 提供的用户名/密码
我有一个可爱的小 Java 客户端,可以发送签名的电子邮件。我们有一个需要用户名/密码身份验证才能发送消息的 Exchange 服务器。
当我连接到交换服务器时,我收到此错误:
当我连接到其他服务器(Unix 服务器)时,我没有问题。
下面是完整的调试跟踪。我想不通。