骆驼路线,未解析的日期

时间:2015-06-09 11:26:34

标签: smtp apache-camel

我使用驼峰路线发送电子邮件与smtp.gmail.com URI就是这样的

 uri="smtps://smtp.gmail.com?to=user@gmail.com&username=user@gmail.com&password=password&debugMode=true&from=user@gmail.com&subject=${date:now:yyyyMMdd}"

所以我希望将当前日期作为主题,但是日期不会被解析,而是打印" $ {date:now:yyyyMMdd}"

2 个答案:

答案 0 :(得分:2)

我不确定您是否可以在simple内使用uri表达式。您最好在标题中设置subject和其他值。

<route>
  <from uri="direct:example" />
  <setHeader headerName="subject"><simple>${date:now:yyyyMMdd}</simple></setHeader>
  <setHeader headerName="from"><constant>user@gmail.com</constant></setHeader>
  <setHeader headerName="to"><constant>user@gmail.com</constant></setHeader>
  <setHeader headerName="username"><constant>user@gmail.com</constant></setHeader>
  <setHeader headerName="password"><constant>password</constant></setHeader>
  <to uri="smtps://smtp.gmail.com?debugMode=true" />
</route>

答案 1 :(得分:0)

您只需在RecipientList中使用您的URI即可。所以

而不是:

<to uri="smtps://smtp.gmail.com?to=user@gmail.com&amp;username=user@gmail.com&amp;password=password&amp;debugMode=true&amp;from=user@gmail.com&amp;subject=${date:now:yyyyMMdd}"/>

使用:

<recipientList>
  <simple>smtps://smtp.gmail.com?to=user@gmail.com&amp;username=user@gmail.com&amp;password=password&amp;debugMode=true&amp;from=user@gmail.com&amp;subject=${date:now:yyyyMMdd}</simple>
</recipientList>

请告诉我这是否适合您。

在此处阅读更多内容:http://camel.apache.org/how-to-use-a-dynamic-uri-in-to.html