无法从camel spring SMTP组件发送邮件主体

时间:2018-02-16 10:30:25

标签: apache-camel spring-camel

我正在使用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>

我已经添加了我尝试过的所有组合,但它们没有提前工作。

1 个答案:

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

然后我们可以检查&#34; when / simple&#34;条件。

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