第 217 章 邮件组件
作为 Camel 版本 1.0 可用
邮件组件通过 Spring 的邮件支持和底层 JavaMail 系统提供对电子邮件的访问。
Maven 用户需要将以下依赖项添加到其 pom.xml
中:
<dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-mail</artifactId> <version>x.x.x</version> <!-- use the same version as your Camel core version --> </dependency>
geronimo mail .jar
我们发现 geronimo mail .jar
(v1.6)具有在使用附件轮询邮件时的错误。它无法正确识别 Content-Type
。因此,如果您将 .jpeg
文件附加到邮件并轮询该文件,则 Content-Type
会被解析为 text/plain
,而不是 image/jpeg
。因此,我们添加了一个 org.apache.camel.component.ContentTypeResolver
SPI 接口,允许您根据文件名返回正确的 Mime 类型来修复此程序错误。因此,如果文件名以 jpeg/jpg
结尾,您可以返回 image/jpeg
。
您可以在 MailComponent
实例或 MailEndpoint
实例上设置自定义解析器。
POP3 或 IMAP POP3 有一些限制,如果可能,建议使用 IMAP。
INFO: 使用模拟电子邮件进行测试,您可以使用模拟框架进行单元测试,无需实际邮件服务器。但是,当您进入生产环境或其他需要向其发送邮件到真实邮件服务器时,您应该记得不要包含模拟电子邮件。仅存在 classpath 上的模拟-javamail.jar 意味着它将启动并避免发送邮件。
217.1. URI 格式
邮件端点可以分别具有以下 URI 格式之一(用于协议、SMTP、POP3 或 IMAP):
smtp://[username@]host[:port][?options] pop3://[username@]host[:port][?options] imap://[username@]host[:port][?options]
邮件组件还支持这些协议的安全变体(通过 SSL 层)。您可以通过在方案中添加 s
来启用安全协议:
smtps://[username@]host[:port][?options] pop3s://[username@]host[:port][?options] imaps://[username@]host[:port][?options]
您可以使用以下格式在 URI 中附加查询选项 ?option=value&option=value&…