我正在使用camel-spring编写一个基本的驼峰应用程序。我能够发送电子邮件,但我无法发送身体和主题。我已经尝试了几种方法,但只有我在邮件正文中的东西是文件如果您有任何想法,请提供您的意见。
<route id="notification">
<from uri="file:///home?noop=true" />
<camel:choice>
<camel:when>
<camel:simple>
${file:name} contains '{{data}}'
</camel:simple>
<camel:setHeader headerName="from">
<simple>nikhil@from.com</simple>
</camel:setHeader>
<setHeader headerName="subject">
<constant>Hello subject</constant>
</setHeader>
<setHeader headerName="contentType">
<constant>text/plain;charset=UTF-8</constant>
</setHeader>
<camel:setHeader headerName="body">
<constant>Test body</constant>
</camel:setHeader>
<camel:setBody>
<constant>Test camel set body</constant>
</camel:setBody>
<setBody>
<constant>Test set body</constant>
</setBody>
<camel:setOutHeader headerName="subject">
<simple>subject from outheader</simple>
</camel:setOutHeader>
<setHeader headerName="subject">
<constant>Status of check report extractor</constant>
</setHeader>
<camel:to uri="smtps://smtp.server.com:465?username=user@gmail.com&password=pass&to=receiver@yahoo.com&subject=${subject}"></camel:to>
</camel:when>
</camel:choice>
</route>
我已经添加了我尝试过的所有组合,但它们没有提前工作。
答案 0 :(得分:1)
请试试这条路线。
<route id="notification">
<from uri="file:///home?noop=true" />
<setHeader headerName="from">
<constant>nikhil@from.com</constant>
</setHeader>
<setHeader headerName="subject">
<constant>Hello subject</constant>
</setHeader>
<setHeader headerName="contentType">
<constant>text/plain;charset=UTF-8</constant>
</setHeader>
<setBody>
<constant>Test camel set body</constant>
</setBody>
<to uri="smtps://smtp.server.com:465?username=user@gmail.com&password=pass&to=receiver@yahoo.com&from=${header.from}&subject=${header.subject}&contentType=${header.contentType}"/>
</route>
然后我们可以检查&#34; when / simple&#34;条件。
请注意,路径中所有存储的标头都可以使用$ {header.X}检索。