如何使用 Mule 读取邮件并插入数据库?
How to read mail and insert into database using Mule?
我必须在 Mule 中创建一个应用程序,它将从商店读取邮件并将其详细信息保存在数据库中。我知道如何将数据插入数据库,但我无法找到有关邮件的任何解决方案。我如何阅读邮件并在 Mule 中解析它?
我对 Mule 一无所知,但假设您可以在 Mule 中编写普通的旧 Java 代码,您可以使用 JavaMail API 来阅读和解析电子邮件。
您可以将 Mule 与您自己的组件集成,甚至 Spring 个组件也应该可以工作。
<flow name="SomeFlow">
<!-- Some inbound endpoint -->
<component class="com.my.class.MyComponent"/>
</flow>
public class MyComponent implements Callable {
@Override
public Object onCall(MuleEventContext muleEventContext) throws Exception {
//add your code here
}
}
此外,您可以在 mule xml 中添加 spring 配置。
xmlns:spring="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
<!--...-->
<context:component-scan base-package="com.my.stuff" />
<bean class="com.my.spring.Component" />
我认为答案是正确的,但是与其手动推出自己的解决方案,不如使用 IMAP connector
示例可能如下所示
<flow name="incoming-orders">
<imaps:inbound-endpoint user="${mail.user}" password="${mail.password}" host="${mail.host}"
port="${mail.port}"/>
<logger message="#[payload]" level="INFO" doc:name="Logger" />
</flow>
我必须在 Mule 中创建一个应用程序,它将从商店读取邮件并将其详细信息保存在数据库中。我知道如何将数据插入数据库,但我无法找到有关邮件的任何解决方案。我如何阅读邮件并在 Mule 中解析它?
我对 Mule 一无所知,但假设您可以在 Mule 中编写普通的旧 Java 代码,您可以使用 JavaMail API 来阅读和解析电子邮件。
您可以将 Mule 与您自己的组件集成,甚至 Spring 个组件也应该可以工作。
<flow name="SomeFlow">
<!-- Some inbound endpoint -->
<component class="com.my.class.MyComponent"/>
</flow>
public class MyComponent implements Callable {
@Override
public Object onCall(MuleEventContext muleEventContext) throws Exception {
//add your code here
}
}
此外,您可以在 mule xml 中添加 spring 配置。
xmlns:spring="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
<!--...-->
<context:component-scan base-package="com.my.stuff" />
<bean class="com.my.spring.Component" />
我认为答案是正确的,但是与其手动推出自己的解决方案,不如使用 IMAP connector
示例可能如下所示
<flow name="incoming-orders">
<imaps:inbound-endpoint user="${mail.user}" password="${mail.password}" host="${mail.host}"
port="${mail.port}"/>
<logger message="#[payload]" level="INFO" doc:name="Logger" />
</flow>