Smtp 骆驼路线,未解析日期

Smtp 骆驼路线,未解析日期,smtp,apache-camel,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}" 因此,我希望将当前日期作为主

我正在使用驼峰路由,通过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}”

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

<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>

${日期:现在:yyyyMMdd}
user@gmail.com
user@gmail.com
user@gmail.com
密码

您只需在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}"/>

使用:


smtps://smtp.gmail.com?to=user@gmail.com&;用户名=user@gmail.com&;密码=密码&;debugMode=true&;从=user@gmail.com&;主题=${date:now:yyyyymmdd}
让我知道这是否适合你

请在此处阅读更多信息:

<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>