FavoriteLoading
0

使用smartform模板发送HTML邮件实例教程

[隐藏]

1, 业务场景

在项目中,我们需要写一个自定义的Web Dynpro应用程序,以方便用户的业务流程。此业务流程的活动大多是有关批准,与不同层次的审批者。每个审批人(批准/拒绝)后,通过电子邮件发送到相关人士。完全不同的电子邮件将被发送超过10次。我们必须要找到一个有效的方式来发送电子邮件。

2, 解决方法

即使有10个以上不同内容的电子邮件,或多或少的它们具有相同的结构。例如“信尾”大多都会这样“这是一个计算机自动生成的信息。请不要回复。” 这意味着,如果我们找到一个有效的方式进行分组,电子邮件和编写代码,维护更容易对我们来说,不管用户将来需求如何变化。这时我想到使用Smartforms。 Smartforms的控制流和条件以及文本元素(text element),将帮助我实现想法。我只需要创建一个Smartform,使用电子邮件模板传递我的信息.

2017-02-24_14-33-33

一般情况下,该方案像这样,通过代码调用Smartforms- >传递参数(如我想用哪个模板) - >收到的内容,用它做什么- >发送邮件。

3, 技术细节

首先,通过Smartforms创建电子邮件模板,架构架构,创建新的文件夹,新的条件。

1361586829_1260

在条件选项卡中,我们可以决定哪些内容显示:

1361586844_7073

我们甚至可以使用HTML标记来写HTML邮件的内容,例如<BR/>线,<A>标签的URL

1361586862_5597

然后,我们需要激活Smartform在WebDynpro侧。设定援助类的方法,调用Smartform。传递参数的模板,把有必要的内容写入邮件.

后调用的Smartforms的,它会返回一个结构,保持内容的类型SSFCRESCL一个OTF领域中。

1361586897_2310

在调试模式下,我们注意到,OTF数据是可读的,内容的电子邮件和一些奇怪的数字。

1361586909_2890

我们需要发送HTML格式的电子邮件,使用方法cl_document_bcs=> create_document。 i_text参数是一个表型SOLI_TAB的,底层的数据结构是一个字符。我们现在的任务是从OTF转换到SOLI,同时仍然保持正确的内容. 首先,我们将转换为OTF表TLINE.

1361586950_7886

看更具有可读性,不是吗?现在,所有我们需要做的是将其转换为SOLI删除一些多余的线条。

1361586974_3363

完美!现在,我们可以使用这些内容发送电子邮件了

1361586993_7951

4, 完整实例

下面是完整的例子,和上面的讲解略有不同,

smartform部分:

其中 <br/><br/>代表换行。

2017-02-24_15-31-42

完整程序:

运行后,收到邮件如下:

2017-02-24_15-33-35

以上。