gpt4 book ai didi

java - Spring 应用程序上的多个邮件服务器

转载 作者:搜寻专家 更新时间:2023-11-01 02:43:06 28 4
gpt4 key购买 nike

我正在使用 Spring 开发一个应用程序。这个应用程序有客户,每个客户都有自己的邮件服务器配置(端口、主机、用户名、密码等)。我的应用程序必须通过客户邮件服务器发送电子邮件。我的意思是,我不能使用经典:

<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">

将会有很多 MailServerImpl,每个客户一个,我将有数百个。每次客户登录时,都会要求他提供此邮件服务器配置。

根据客户的某些操作,我的应用程序必须使用客户邮件服务器发送电子邮件。

那么,使用 Spring 执行此操作的最佳方法是什么?我希望最好的解决方案是不要做 new MailServerImpl()并在每次我必须发送电子邮件时设置属性...

非常感谢。

最佳答案

从 .properties 文件或数据库中读取端口、主机、用户名、密码等。这样您将拥有一个 mailSender 实现,但每个客户端配置不同。

你可以使用 Apache Commons Email并且不使用 bean,而是每次都创建一个对象并发送邮件:

Email email = new SimpleEmail();
email.setHostName("smtp.googlemail.com");
email.setSmtpPort(465);
email.setAuthenticator(new DefaultAuthenticator("username", "password"));
email.setSSLOnConnect(true);
email.setFrom("user@gmail.com");
email.setSubject("TestMail");
email.setMsg("This is a test mail ... :-)");
email.addTo("foo@bar.com");
email.send();

您将根据与用户的关系存储在数据库中的值。

关于java - Spring 应用程序上的多个邮件服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29220709/

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