我的字符串包含常见的分隔邮件ID,如下所示
abc@mail.com,xyz@gmail.com
我厌倦了通过验证器组件进行验证。它只验证一封电子邮件。
你能帮我吗?如何在骡子中处理这个问题答案 0 :(得分:0)
将Mule验证放在for-each组件中并循环浏览电子邮件。请参阅以下示例代码。
<http:listener-config name="HTTP_Listener_Configuration" host="localhost" port="8085" doc:name="HTTP Listener Configuration"/>
<flow name="mule_validatorFlow">
<http:listener config-ref="HTTP_Listener_Configuration" path="/" doc:name="HTTP"/>
<logger message="--- The service has been triggered ---" level="INFO" doc:name="Logger"/>
<set-payload value="rk@gmail.com,rk1@gmail.com,rk2@gmail.com" doc:name="Set Payload"/>
<foreach collection="#[org.mule.util.StringUtils.split(payload, ',')]" doc:name="For Each">
<validation:is-email email="#[payload]" doc:name="Validation"/>
</foreach>
</flow>
答案 1 :(得分:0)
您可以使用Groovy或Java Transformer并执行:
return payload.split(",")
您的有效负载将是一个字符串数组,每个字符串都是一封电子邮件。
编辑:也就是说,假设您的有效负载是包含您的电子邮件的字符串。如果不是简单地使用变量或获取正确的字符串并使用split()
函数。