java - 如何通过 Java 从 Outlook 发送电子邮件?

标签 java apache email outlook jakarta-mail

我被困在企业防火墙后面,不允许我通过 Java Mail API 或 Apache Commons Email 等传统方式发送电子邮件,甚至无法发送给组织内的其他人(无论如何我都想要)。但是我的 Outlook 2010 显然可以发送这些邮件。我想知道是否有一种方法可以通过 Java 代码使 Outlook 2010 自动化,以便 Outlook 可以发送电子邮件?我知道像“mailto”这样的东西可以用来弹出带有预填充信息的默认 Outlook 发送对话框,但我正在寻找一种让发送操作在幕后发生的方法。感谢您提供任何信息。

最佳答案

您可以使用 javamail 通过 outlook 发送电子邮件,使用 Outlook's official site. 中描述的配置

这是一个小的演示代码

import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.Properties;

public static void main(String[] args) {
    final String username = "your email";  // like yourname@outlook.com
    final String password = "*********";   // password here

    Properties props = new Properties();
    props.put("mail.smtp.auth", "true");
    props.put("mail.smtp.starttls.enable", "true");
    props.put("mail.smtp.host", "smtp-mail.outlook.com");
    props.put("mail.smtp.port", "587");

    Session session = Session.getInstance(props,
      new javax.mail.Authenticator() {
        @Override
        protected PasswordAuthentication getPasswordAuthentication() {
            return new PasswordAuthentication(username, password);
        }
      });
    session.setDebug(true);

    try {

        Message message = new MimeMessage(session);
        message.setFrom(new InternetAddress(username));
        message.setRecipients(Message.RecipientType.TO,
            InternetAddress.parse("receiver mail"));   // like inzi769@gmail.com
        message.setSubject("Test");
        message.setText("HI you have done sending mail with outlook");

        Transport.send(message);

        System.out.println("Done");

    } catch (MessagingException e) {
        throw new RuntimeException(e);
    }
}

.
注意:我使用 Javamail API 1.5.6

对此进行了测试

关于java - 如何通过 Java 从 Outlook 发送电子邮件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39218352/

相关文章:

java - 实体映射中的重复列应使用插入 ="false"更新 ="false"进行映射

java - 在 JSP 中迭代 ArrayList

ruby-on-rails - 如何使用 Apache 和 Passenger 在子域根目录上部署 Rails 应用程序

java - 用于从 Java 应用程序可靠地发送电子邮件的库 - 具有缓冲、重试等功能

email - 电子邮件地址中的大写字母是否重要?

Java正则表达式问题

java - 无法使用 Android Gradle 插件 2.1 生成 View 绑定(bind)程序 java.util.NoSuchElementException

php - 带有 PHP 7.1 的 Symfony 3 给定 ICU 版本的国际扩展

apache - 将 web.config 重写规则转换为 htaccess 重写规则(所有不带扩展名的文件将被处理为 .cfm)

ruby-on-rails - 错误率: Devise: Email confirmation on heroku gives Connection refused error