当前位置: 首页 > 知识库问答 >
问题:

无法连接到SMTP主机:outlook。Office 365。com,端口:587;嵌套的例外是:java。网SocketException:权限被拒绝:连接

邹高峻
2023-03-14

我已经编写了使用outlook发送电子邮件的代码。Office 365。通用域名格式。当我运行程序时,出现以下错误。

javax.mail.消息异常:无法连接到SMTP主机:outlook.office365.com,端口:587;嵌套异常是:

java.net.套接字异常:权限拒绝:连接

private static final String SERVIDOR_SMTP = "outlook.office365.com";
private static final int PORTA_SERVIDOR_SMTP = 587;
private static final String CONTA_PADRAO = "xxxx@xxx.com"; //Cofig  Mail Id
private static final String SENHA_CONTA_PADRAO = "XYZ"; // Password

private final String from = "xxxx@xxx.com"; 
private final String to = "xxxx@xxx.com";

private final String subject = "Teste";
private final String messageContent = "Teste de Mensagem";

public void sendEmail() {
    final Session session = Session.getInstance(this.getEmailProperties(), new Authenticator() {

        @Override
        protected PasswordAuthentication getPasswordAuthentication() {
            return new PasswordAuthentication(CONTA_PADRAO, SENHA_CONTA_PADRAO);
        }

    });

    try {
        final Message message = new MimeMessage(session);
        message.setRecipient(Message.RecipientType.TO, new InternetAddress(to));
        message.setFrom(new InternetAddress(from));
        message.setSubject(subject);
        message.setText(messageContent);
        message.setSentDate(new Date());
        Transport.send(message);
    } catch (final MessagingException ex) {
       System.out.println(" "+ex);
    }
}

public Properties getEmailProperties() {
    final Properties config = new Properties();
    config.put("mail.smtp.auth", "true");
    config.put("mail.smtp.starttls.enable", "true");
    config.put("mail.smtp.host", SERVIDOR_SMTP);
    config.put("mail.smtp.port", PORTA_SERVIDOR_SMTP);
    return config;
}

public static void main(final String[] args) {
    new SendAttachmentInEmail().sendEmail();
}

共有1个答案

拓拔阎宝
2023-03-14

我认为,你没有访问电子邮件的权限。例如,当我在我的gmail帐户中尝试时,如果我没有打开下面显示的设置,我将获得授权失败,但如果我打开设置,我可以发送带有您代码的电子邮件。

请检查您的电子邮件权限和设置。

设置图片

 类似资料:
  • 下面是应用程序的代码。我一直在尝试使用eclipse IDE来运行它。我还添加了所有必需的java邮件jar文件,即。但会出现以下错误。 没有防火墙阻止访问,因为ping smtp.gmail.com时会收到回复。我甚至这样试过: null

  • 问题内容: 当我尝试使用连接到Elasticsearch时, 它工作正常。 但是当我运行它时抛出一个错误说 无法连接到本地主机端口9200:连接被拒绝 如何解决这个错误? 问题答案: 默认情况下,它应该绑定到所有本地地址。因此,假设你没有使用防火墙在网络层的问题,唯一的ES设置我能想到是检查并确保其未设置或设置为或或正确的IP地址为您的网络。 更新:根据ES 2.3中的注释,您应该进行设置。

  • 大家好,我是Docker的新手,我想通过在官方网站上学习教程来熟悉Docker。现在我被困在教程的第2部分(你可以在这里查看链接)= 我有示例应用程序代码、Dockerfile和要求。txt与官方教程完全相同 我的Dockerfile是这样的 所有3个文件的文件内容/代码也与教程完全相同。我能够用这个命令构建镜像注册表 一切看起来都很好。现在我有了样本项目图像注册表。 然后,我根据官方教程使用此命

  • 当我尝试使用它工作正常。 但是当我运行它抛出一个错误,表示 连接到localhost端口9200失败:连接拒绝 如何解决此错误?

  • 我已经找到了所有的解决方案并应用到我的项目中。但它们不起作用。我被拒绝了这个许可。我已经把所有可能的许可都放进了清单文件。请告诉我我的项目出了什么问题。 我的manifest.xml Logcat:

  • 我有一个依赖于Kafka服务的应用程序。 对于Kafka connect,我在运行Kafka connect的kubernetes pod的Linux VM上尝试<code>curl localhost:8083</code>时遇到错误。 给出: 重建网址至: 本地主机:8083/ 正在尝试 127.0.0.1... 连接到 127.0.0.1 端口 8083 失败:连接被拒绝 无法连接到本地主机