1

我正在使用 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&amp;password=pass&amp;to=receiver@yahoo.com&amp;subject=${subject}"></camel:to>
            </camel:when>
        </camel:choice>
</route>

我已经添加了我尝试过的所有组合,但它们不起作用提前谢谢。

4

1 回答 1

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&amp;password=pass&amp;to=receiver@yahoo.com&amp;from=${header.from}&amp;subject=${header.subject}&amp;contentType=${header.contentType}"/>
</route>

然后我们可以检查“何时/简单”条件。

请注意,可以使用 ${header.X} 检索路由中存储的所有标头。

于 2018-02-16T11:59:03.710 回答