云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

专属服务器_传奇服务器架设_优惠券

小七 141 0

专属服务器_传奇服务器架设_优惠券

简介

在我之前的帖子中停止使用邮包!©–简化邮件接收器适配器场景,我介绍了无需通过Java编码手动构建MIME流即可实现的各种邮件接收器场景。

尽管这些场景应涵盖大多数常见需求,仍然存在不适合这些场景的需求,因此需要一些自定义开发。

本文通过引入自定义适配器模块来补充和扩展"停止使用邮件包©"方法,该模块设置与附件名称相关的MIME头字段。这不能在映射步骤实现,因为映射api只允许访问Content-Type头,而不允许访问其余的头。如SAP Note 856599所述,建议设置与附件名称相关的所有三个MIME头字段,以便邮件客户端正确解释电子邮件。因此,MIME头字段是使用适配器模块API设置的。

更新:我注意到,云服务器多少钱,通过变量传输绑定和使用高级模式参数,平销返利,也可以使用标准功能设置内容处置头–更多详细信息,请参见下面的Wiki。

动态电子邮件附件名称使用ASMA接收邮件,而不使用邮件包

因此,除非特定邮件客户端的行为要求设置所有三个邮件头,否则不必使用此自定义方法。当然,如果它已经部署并且简化了开发,那么使用它也没有什么坏处

设计方法和用例

SetMailAttachmentNameBean主要用于在主负载作为附件发送时处理文件名的动态设置。为了允许灵活性,从配置的动态配置属性中检索文件名(该属性应在该模块之前设置,即在发送方适配器或映射步骤)。下面是这方面的用例模块:-

源代码和部署存档

SetMailAttachmentNameBean与FormatConversionBean属于同一适配器模块项目。有关源代码和/或EAR部署文件的位置,请参阅下面的博客。

FormatConversionBean–一个Bean来控制它们!

模块参数参考

下面列出了模块的JNDI名称,物联智能家居,用于将模块添加到通信通道的处理链中。

模块名称=Custom\u AF\u Modules/SetMailAttachmentNameBean

下面列出了用于配置模块的参数。如果未配置,某些参数将自动继承默认值。

由于邮件客户端的行为不同,如果需要,该模块包含用于关闭对每个MIME头的修改的参数。默认情况下,会设置所有三个MIME头。

下面的示例场景

是基于上述用例的一些模块使用示例场景。

场景1

SOAP到邮件场景,其中主负载将作为附件发送到邮件中(无正文)。

设计

模拟动态配置属性中的文件名设置,使用一个简单的passthrough Java映射来设置文件名,如下所示:

配置

通道配置与上一篇文章相似,

对于模块链,SetMailAttachmentNameBean在默认模式下使用,没有配置任何参数。

测试

以下负载通过SOAP UI发送到SOAP发送方通道。

如SOAP信封所示,文件名默认为主文档.xml.

映射步骤后,文件名存储在动态配置属性中。

审核日志显示适配器模块正在填充的MIME头。

最后,邮件客户端收到的电子邮件显示通过SOAP发送的原始主负载的动态设置的文件名。

场景2

对于此场景,它将是一个文件邮件传递场景。文件名的扩展名必须用附加的时间戳更改。

设计

从SFTP到邮件的直通场景。

配置

在SFTP发送方通道中,大数据行业分析,ASMA设置为捕获源文件名。

在邮件接收方通道中,我们将配置SetMailAttachmentNameBean以使用上面配置的名称空间。MIME类型也被配置了

为了在这个passthrough场景中实现文件名的动态命名,我们将使用DynamicAttributeChangeBean来更改扩展名并添加时间戳

测试

为了测试,我们将把下面的文件放到SFTP源文件夹中

从审计日志中,我们可以看到文件名被动态更改,随后MIME头被新文件名填充。

最后,邮件客户端显示具有正确附件名的电子邮件。

结论

如上所示,使用SetMailAttachmentNameBean,我们可以将"停止使用邮件包©"的方法进一步扩展到其他场景,而无需额外编码来构建MIME流。

你好,

谢谢您的出色工作。我有一个不同的场景,IDoc到Mail,淘客论坛,并希望使用您的适配器。

该场景是来自SAP系统的IDoc,通过一个操作映射将其从ORDERS05转换为ORDERS96A,然后它应该通过邮件作为带有唯一文件名的附件发送。关键是我们接收邮件的供应商不需要xml文件,而需要edi格式的平面文件。

请回答我如何在这种情况下使用您的适配器?