抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

这里介绍下CPI的邮件发送配置。CPI自己就有封装好的邮件适配器对象,使用这个对象填入邮箱的SMTP信息与发件人,收件人和邮件标题和正文等内容。等待调用时就会自动发送邮件了。这期介绍下如何使用office邮箱的配置。

CPI邮件配置

一、创建邮箱iFlow

1.新建邮件iFlow

在CPI的Package中创建CPI异常时自动发送邮件提醒运维人员的iFlow。

1.创建CPI接口iFlow

2.声明iFlow的调用地址

如果想要在其他的CPI中调用该邮件发送功能,则你还需要像创建其他CPI接口一样,为该iFlow声明一个Address。以便其他CPI在其的Address中调用该iFlow。有点绕口,简单来说我们在创建时写的YTEST_SAP_ERROR_MAIL这个是我们给他定义的名称,但是这个名称无法在其他CPI中使用。如果要在其他CPI中使用则需要通过下面再Address中定义的接口名称。

Sender出发,拉出适配器指向箭头。选择适配器类型为ProcessDirect。然后打开Connection页签在Address输入框中输入该iFlow的地址。

2.输入iFlow的地址

3.设置发送邮件的适配器与连接属性

(1)设置连接器与属性

End出发拉出箭头指向Receiver对象,然后选择适配器类型为Mail。请注意常规界面的传输协议是默认的SMTP。所以在Connection页签中的Address中填入office邮箱的Host端口号(smtp.office365.com:587)。设置的属性内容如下:

  • Proxy Type:Internet(默认)
  • **Timeout (in ms)**:30000(默认)
  • Protection:STARTTLS Mandatory(默认)
  • Authentication:Plain User/Password
    • Encrypted User/Password:加密的用户/密码
    • Plain User/Password:普通用户/密码
    • OAuth2 Authorization Code:OAuth2授权代码
    • None:无
  • Credential Name:可理解为登录office邮箱的账号角色。
3.配置邮件的连接属性

(2)注意事项

此处有个注意事项,那就是如果你选择Proxy TypeInternet时,SMTP的端口号只能是587和465。

7.配置SMTP的端口

以下内容摘自:SAP Business Technology Platform (BTP)的架构理解

对于只能使用这两个端口我有以下猜想,不保证正确,欢迎指正。之前我在查找BTP相关的资料时有看到说SAP为了自家的云产品能更好的互联,单独开发的一个进行身份认证的服务。被称之为Identity Authentication Tenant,简称是IAS - Identity Authentication Service。该服务严格意义上并不属于BTP上的服务。它可以使你将常见的微软认证数据接入IAS,利用现有用户数据和权限,实现SAP云产品的无缝登陆,你也可以在上边进行从0到1的用户创建填充,重度依赖IAS实现SAP云产品的用户管理。

8.BTP架构图

从上边的架构图中可以看到,IAS在用户通过浏览器登陆BTP上的服务的时候起到非常关键的鉴权作用,只有该用户有足够权限才能访问BTP上的指定服务,要么在BTP上进行开发工作,要么本身就是终端用户使用BTP上暴露的服务。结合方法也不困难,SAP社区论坛有不少资料,其最直接的反应就是在上边BTP主控室的截图左侧可以看到Trust Configuration中多了一个自创建的IAS而不仅仅是default的了。

(3)Credential Name

这个角色的配置位置在CPI的监控器–>安全材料中。

此处的用户就是登录office邮箱的邮箱地址(账号)。

4.查看登录邮箱的权限角色

4.设置邮箱的Processing

在这里可以设置发送邮件的发件人和接收邮件收件人邮箱地址,此处之外还可以设置邮件的主题、和正文部分。

如果收件人有多个,请按照**邮箱1;邮箱2;邮箱3…的方式串联收件人邮箱地址。在主题和正文中的{}**部分是调用邮件接口时的动态参数值。可以通过内容转换器定义变量和变量值然后传入该iFlow。

5.设置接收人与邮箱标题正文

5.发布iFlow接口

6.发布iFlow接口

二、设置CPI的异常处理

当接口在CPI端发生异常时,是不会将数据推送到SAP端的。这时候如果不通过CPI进行排查就无法定位到问题,所以客户需要我们设置一个异常处理。当CPI接口处理失败时,向运维人员的邮箱发送异常邮件。这样可以就可以定位到CPI出现了异常。下面介绍下如何在CPI的接口中设置异常处理并发送异常邮件。

以之前在《通过Web Service发布CPI接口》中创建的CPI接口为例子。

1.创建异常子流程

这里添加异常子流程有个注意事项,创建的异常子流程结束的节点是接口结束节点End。我们需求将其修改为异常结束节点Error End。不然会将邮件的内容给对方系统发送过去。

9.设置接口的异常子流程

设置接口结束节点返回的报文内容如下:

12.将邮件返回给对端系统

2.添加内容修正符

在Error Start1之后创建一个内容修正符,在其中添加上需要通过邮件发送的变量值。

10.设置邮件内容的内容修正符

3.添加请求回复组件

在修正符之后添加一个请求回复组件,然后使用ProcessDirect适配器调用邮件发送的iFlow。设置好适配器之后在适配器的Connection页签中的Address中的输入框中填入之前我们为邮件iFlow声明的CPI端的名称:**/Demo/CPIErrorMailSend**。

11.添加请求回复调用邮件

4.部署修改后的接口

添加完成上面的异常子流程全部步骤之后部署接口即可,点击右上角的部署按钮,等待部署状态为已部署即可。

13.查看部署状态

三、测试邮件推送

1.发送异常请求

使用Postman测试工具向CPI发送会产生异常的请求内容。可以看到

14.发送异常请求

2.监控器截图

15.监控器效果截图

3.邮件效果截图

16.邮件效果截图

评论