gpt4 book ai didi

java - 访问包含 postfix 的服务器并使用它从 spring boot 应用程序发送邮件

转载 作者:行者123 更新时间:2023-11-30 05:19:11 30 4
gpt4 key购买 nike

我正在 Spring Boot 应用程序中创建一项服务,以使用 postfix 服务器发送电子邮件,问题是我的计算机中未安装 postfix,要进入 postfix,我应该通过 ssh 连接到远程服务器,然后使用 postfix (postfix 位于远程服务器的 Docker 容器内),因此在远程计算机内应使用 telnet 连接到 postfix。

现在的问题是如何将 spring boot 连接到 postfix ?在 application.properties 中 a 具有以下属性:

spring.mail.host=

spring.mail.port=

spring.mail.properties.mail.smtp.auth=false

主机和端口属性中应填写什么?

请,如果有任何建议,请不要犹豫。

谢谢!

最佳答案

只是退一步强调顶层结构以及它们“通常”如何组合在一起。

1 在一定的抽象级别上,我们可以将“后缀服务器”视为具有邮件队列的服务器,您发送的电子邮件将存储在其中,等待通过端口 25 SMTP(电子邮件)管道发送。

2 我们可以使用java mail api通过java中的这个管道轻松发送电子邮件[1]。

请注意,这在 Java SE 中可用,因此我们可以从 Spring Boot 中使用它。虽然 Spring 可能有各种我们可以利用的电子邮件包,但使用 java Mail API 可以很好地在任何 Spring 生态系统之外重用代码

3 在高层使用 [1] 时,我们首先构造一个 session 对象

val session = Session.getInstance(<some properties>, <some auth scheme can be null)

然后我们将使用此 session 构造一个电子邮件消息对象

    val msg = new MimeMessage(session)

然后我们将其发送到带有 Transport 静态类的 postfix mailq

    Transport.send(msg);

只要这种情况发生在“postfix 服务器”上,并且 session 和消息对象构造正确,那么您的消息应该最终出现在 mailq 中并通过管道发送。许多详细信息可以在邮件 api 的 java 文档中找到,开头 here

总结带有 java 邮件 api 的 Spring Boot 应用程序在设置了 postfix 的服务器上运行。

关于java - 访问包含 postfix 的服务器并使用它从 spring boot 应用程序发送邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59826050/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com