如何将SCP Neo中目标服务中的电子邮件配置绑定到Spring Boot应用程序?

2020-08-21 11:26发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我想在SAP Cloud Pla...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我想在SAP Cloud Platform Neo环境中部署Spring Boot应用程序。 它具有端点/sendmail ,该端点在被调用时向特定用户发送邮件。 现在,我已经在 application.properties 文件中对凭据进行了硬编码,并且可以正常工作。 该文件如下所示-

  spring.mail.host = smtp.gmail.com
 spring.mail.port = 587
 spring.mail.username = ...
 spring.mail.password = ...
 spring.mail.properties.mail.smtp.starttls.enable = true
 spring.mail.properties.mail.smtp.starttls.required = true
 spring.mail.properties.mail.smtp.auth = true
 spring.mail.properties.mail.smtp.connectiontimeout = 5000
 spring.mail.properties.mail.smtp.timeout = 5000
 spring.mail.properties.mail.smtp.writetimeout = 5000  

现在,我想利用SCP平台的目的地服务,在该服务中定义邮件帐户的凭据。 我想从目标服务中获取凭据。 因此,需要在 application.properties 文件中添加什么?

我曾在SCP-Cloud Foundry中执行过类似的操作,但用于其他服务(数据库)。 CF具有VCAP环境变量,可用于按以下方式获取凭据-

  spring.datasource.url = $ {vcap.services。$ {vcap.services.name} .credentials.url}  

是否可以在Neo中做同样的事情?

致谢

6条回答
d56caomao
2020-08-21 11:53

嗨,

我根据 https://www.baeldung使用过Spring Boot Mail。 com/spring-email 并使用以下参数配置目标:

#mail.password = <<导出时已删除现有密码/证书>>
 #
 #Thu Mar 07 14:19:07 UTC 2019
 类型=邮件
 mail.user=***@gmail.com
 mail.transport.protocol = smtp
 mail.smtp.host = smtp.gmail.com
 名称= mymail
 mail.smtp.starttls.enable = true
 mail.smtp.port = 587
 mail.smtp.auth = true 

JavaMailSender使用从目标读取的属性。 在这种情况下,不必定义资源引用。 我已经在Neo Rot和Neo Amsterdam中测试了这种方法。

致谢

Karsten

(在 https: //help.sap.com/viewer/cca91383641e40ffbe03bdc78f00f681/Cloud/zh-CN/e70a574cbb57101494a781920e3c9d64.html 对我不起作用。)

读取目的地信息(简称):

web.xml

 <!-声明目标的JNDI查找->
 <资源参考>
  connectivityConfiguration 
  com.sap.core.connectivity.api.configuration.ConnectivityConfiguration 
  

Java(Spring" @Component"中的组件类)

 JndiTemplate jndiTemplate = new JndiTemplate();
 ConnectivityConfiguration配置=
      (ConnectivityConfiguration)jndiTemplate
 .lookup(" java:comp/env/connectivityConfiguration");
 DestinationConfiguration destConfiguration = configuration.getConfiguration(" mymail"); 

一周热门 更多>