第 218 章 邮件组件
从 Camel 版本 1.0 开始提供
邮件组件通过 Spring 邮件支持和底层 JavaMail 系统提供对电子邮件的访问。
Maven 用户需要将以下依赖项添加到这个组件的 pom.xml
中:
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: 使用 mock-mail 测试,您可以使用模拟框架进行单元测试,这可让您在不需要真实邮件服务器的情况下进行测试。但是,当您进入生产环境或其他需要向真实邮件服务器发送邮件时,您应该记住不要包含 mock-mail。仅存在 classpath 上的 mock-javamail.jar 表示它将启动并避免发送邮件。
218.1. URI 格式 复制链接链接已复制到粘贴板!
邮件端点可以具有以下 URI 格式之一(分别用于协议、SMTP、POP3 或 IMAP):
smtp://[username@]host[:port][?options] pop3://[username@]host[:port][?options] imap://[username@]host[:port][?options]
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]
smtps://[username@]host[:port][?options]
pop3s://[username@]host[:port][?options]
imaps://[username@]host[:port][?options]
您可以在 URI 中附加查询选项,格式为 ?option=value&option=value&…