我正在尝试使用Apache Camel aws-ses发送电子邮件。
当我将转换为地址时,这很正常,但是当使用camel标头值设置地址时,我收到以下错误。
AmazonServiceException:状态代码:400,AWS服务:AmazonSimpleEmailService,AWS请求ID:24a14170-e812-11e3-86b1-4d4202db06aa,AWS错误代码:InvalidParameterValue,AWS错误消息:缺少最终'@domain'
这是我的骆驼路线:
<camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
<route customId="true" id="timerToLog">
<from uri="cxfrs:bean:rsServer"/>
<convertBodyTo type="com.domain.PasswordResetMessage"/>
<log message="The message contains ${body}"/>
<setHeader headerName="Comments">
<simple>${body.email}</simple>
</setHeader>
<log message="The message header contains ${header.usersEmail}"/>
<to uri="velocity:Welcome.vm"/>
<setHeader headerName="CamelAwsSesHtmlEmail">
<constant>true</constant>
</setHeader>
<log message="Just before sending to AWS, the message header contains ${header.usersEmail}"/>
<to uri="aws-ses://info@domain.com?accessKey=ACCESSKEY&secretKey=itsASecret&subject=Testing&to=${header.usersEmail}"/>
<setBody>
<constant>EMAIL SENT with AWS SES ID ${header.CamelAwsSesMessageId}</constant>
</setBody>
<log message="And at the end, the header contains ${header.usersEmail}"/>
有谁知道解决这个问题的方法或方法?
答案 0 :(得分:0)
您可能遇到的问题是<to>
没有替换您的uri的动态部分。您可能需要按照此camel FAQ使用收件人列表EIP。
根据常见问题解答,您可以尝试这样的事情(未经测试,您可能需要稍微调整一下?)
<recipientList>
<simple>aws-ses://info@domain.com?accessKey=ACCESSKEY&secretKey=itsASecret&subject=Testing&to=${header.usersEmail}</simple>
</recipientList>