Tag: email

如何使用JavaMail将Return-Path设置为发件人地址以外的电子邮件地址?

如何使用JavaMail将Return-Path设置为发件人地址以外的电子邮件地址?

向多个收件人发送电子邮件,而不透露其他收件人

我正在使用javamail将电子邮件发送到收件人列表,但不希望他们能够看到其他人收到了电子邮件。 我也不想使用BCC发送它,因为用户甚至没有在TO列表中看到自己。 我认为这段代码会这样做,但它会显示TO列表中的所有收件人。 除了创建一个循环并一次发送一封电子邮件之外,还有另外一种方法吗? (注意:recipients []是一个包含电子邮件地址的字符串数组。) javax.mail.internet.InternetAddress[] addressTo = new javax.mail.internet.InternetAddress[recipients.length]; for (int i = 0; i < recipients.length; i++) { addressTo[i] = new javax.mail.internet.InternetAddress(recipients[i]); } msg.setRecipients(javax.mail.Message.RecipientType.TO, addressTo);

将jar文件导入IntelliJ Idea?

我想在Java Mail API中使用方法,所以我试图将它的jar导入到IntelliJ IDEA上的项目中。 如何导入或下载这个新jar? 我不是IntelliJ IDEA的新手,但现在两个月内没有import新jar子。 另外,我是否需要其他设置才能使用Java Mail API?

使用Spring集成IMAP适配器,如何手动获取标记为“未读”的电子邮件?

我有一段代码,它使用spring集成的IMAP适配器轮询收件箱,以读取所有未读的电子邮件,并且工作正常。 但是,如果我打开任何电子邮件,然后在我的Outlook收件箱中将其标记为“未读”,则轮询器不会获取标记的电子邮件。 我可以使用pop3适配器来获取所有电子邮件,但删除它们后,但我想将电子邮件保存在我的收件箱中,我希望轮询器能够获取所有看不见的电子邮件。 有什么建议来处理这个问题吗? 我一直在搜索和阅读有关电子邮件适配器的文章,但没有找到任何有用 提前致谢。

通过java在特定日期发送自动邮件

我正在使用Java mail API通过我的java应用程序发送电子邮件。 但是我想在未来的日期自动发送它,即每个月/每年的任何具体日期。 我已经使用我的ISP的SMTP服务器发送上述id的电子邮件。我在网上引用了以下可用示例。 如何在这里设置任何具体的日期。我已经尝试过SimpleDateFormat并在此处设置它但它仍然立即发送邮件,但是按照提到的具体日期设置其发送日期。 有没有其他方法可以在上述日期和时间发送自动电子邮件? import java.util.*; import javax.mail.*; import javax.mail.internet.*; import javax.activation.*; // Send a simple, single part, text/plain e-mail public class TestEmail { public static void main(String[] args) { // SUBSTITUTE YOUR EMAIL ADDRESSES HERE!!! String to = “abc@abc.com”; String from = “abc@abc.com”; // SUBSTITUTE YOUR ISP’S MAIL SERVER HERE!!! String […]

如何更改JavaMail端口

我正在使用JavaMail编写一个小型Java应用程序,它向用户发送自动电子邮件。 他们可以选择(现在)两个端口:25和587.可以通过GUI上的单选按钮选择端口。 我添加了一个测试按钮,允许用户测试电子邮件设置(包括端口)。 但是,由于某种原因,一旦用户尝试发送测试电子邮件,该端口就无法更改。 Javamail将始终使用原始测试电子邮件的端口。 示例:用户尝试在端口25上发送电子邮件,JavaMail表示无法在端口25上连接(例如,SMTP主机使用另一个端口)。 用户单击端口587,并尝试发送新电子邮件。 JavaMail再次抛出错误,说它无法在端口25上连接。 我有点难过为什么。 每次发送新的测试电子邮件时,都会创建一个全新的SendMailUsingAuthentication对象。 在该类中,属性始终重置为正确的端口。 每当我调试时,据我所知,所有变量都是正确的,并与正确的端口相关联。 我错过了运输内部的东西吗? 在前端GUI中: private void testButtonActionPerformed(java.awt.event.ActionEvent evt) { int port = port25RadioButton.isSelected() ? PORT_25 : PORT_587; notifier = new SendMailUsingAuthentication(hostNameTextField.getText(), userTextField.getText(), getPassword(), emailTextField.getText().split(“,”),port); Thread wait = new Thread(new Runnable() { public void run() { try { changeStatusText(“Sending test email…”); notifier.postTestMail(); changeStatusText(“Test email sent.”); } […]

如何使用JavaMail API接收已发送电子邮件的确认?

我正在编写一个程序,它会发送电子邮件,并想知道接收方何时收到我发给他的电子邮件。 如何使用JavaMail API执行此操作? 如果我使用SMTPMessage,在设置通知选项后如何处理结果? SMTPMessage smtpMsg = new SMTPMessage(msg); smtpMsg.setNotifyOptions(SMTPMessage.NOTIFY_SUCCESS);

JavaMail中的错误:PKIX路径构建失败,无法找到所请求目标的有效证书路径

我正在尝试在android中构建一个电子邮件客户端应用程序,现在我想配置javaMail部分。 我正在尝试与imap服务器建立连接但我的代码有问题..这是我的代码: package mailpackage; import java.util.Properties; import javax.mail.Folder; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.NoSuchProviderException; import javax.mail.PasswordAuthentication; import javax.mail.Session; import javax.mail.Store; public class Connection implements Runnable { boolean done; public Connection() { this.done=false; } @Override public void run() { System.out.println(“Hello from Connection Thread!”); while(!done) { String host = “myhost”;// change accordingly String mailStoreType = “imap”; String […]

如何有效地使用javax.mail API发送批量邮件? 我们可以使用重用经过身份validation的会话来提高速度吗?

我可以使用javax.mail API发送邮件。 但这里的问题是平均每封邮件需要大约4.3秒才能发送到目的地。 如果我按顺序发送20封邮件,则需要大约86.599秒。 根据我的要求,这种方法不起作用。 我正在寻找一种可以在更短的时间内发送大量邮件的方法。 当我查看调试日志时,API正在尝试向SMTP服务器validation它发送的每条消息。 但我只创建了一次会话,并为我发送的所有邮件使用相同的会话。 现在我的问题是,每次向smtp服务器validation自身时,这不是一个开销过程。 有没有更好的方法? 以下是您可能会发现有用的日志跟踪。 250-AUTH LOGIN PLAIN XOAUTH XOAUTH2 250 ENHANCEDSTATUSCODES DEBUG SMTP: Found extension “SIZE”, arg “35882577” DEBUG SMTP: Found extension “8BITMIME”, arg “” DEBUG SMTP: Found extension “AUTH”, arg “LOGIN PLAIN XOAUTH XOAUTH2” DEBUG SMTP: Found extension “ENHANCEDSTATUSCODES”, arg “” DEBUG SMTP: Attempt to authenticate DEBUG […]

无需身份validation即可在javax.mail中发送邮件

我使用javax.mail在Java中发送邮件。 既然我的项目概念的一部分发生了变化,我必须发送邮件而不进行身份validation。 我将不得不改变我的createSession()方法: private void createSession() { properties.put(“mail.smtp.auth”, “true”); properties.put(“mail.smtp.starttls.enable”, “true”); properties.put(“mail.smtp.host”, server); properties.put(“mail.smtp.port”, port); session = Session.getInstance(properties, new javax.mail.Authenticator() { protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(username, password); } }); } 很明显我应该将mail.smtp.auth更改为false ,但我还应该改变什么呢?