Email 数据接收器
描述
将接收到的数据写成附件文件,并发送到一个或多个邮箱地址。
支持版本
测试版本:1.5.6(供参考)
主要特性
选项
| 名称 | 类型 | 是否必须 | 默认值 |
|---|---|---|---|
| email_from_address | string | 是 | - |
| email_to_address | string | 是 | - |
| email_host | string | 是 | - |
| email_transport_protocol | string | 是 | - |
| email_smtp_auth | boolean | 是 | - |
| email_smtp_port | int | 否 | 465 |
| email_authorization_code | string | 是 | - |
| email_message_headline | string | 是 | - |
| email_message_content | string | 是 | - |
| email_attachment_name | string | 否 | emailsink.csv |
| email_field_delimiter | string | 否 | , |
| common-options | 否 | - |
email_from_address [string]
发件人邮箱地址
email_to_address [string]
接收邮件的地址,支持多个邮箱地址,以逗号(,)分隔。
示例:receiver-1@example.com,receiver-2@example.com。
email_host [string]
连接的SMTP服务器地址
email_transport_protocol [string]
加载会话的协议
email_smtp_auth [boolean]
是否对客户进行认证
email_smtp_port [int]
选择用于身份验证的端口。
email_authorization_code [string]
授权码或密码,可以从邮箱设置中获取。
连接器要求必须配置该项。当 email_smtp_auth = false 时,可以配置为空字符串。
email_message_headline [string]
邮件的标题
email_message_content [string]
邮件消息的正文
email_attachment_name [string]
邮件附件的文件名。默认为 emailsink.csv。连接器会先把数据写到本地这个文件里,再作为附件发送。
email_field_delimiter [string]
附件文件中用于分隔字段的分隔符。默认为逗号 ,。
附件不包含表头。字段会按上游 schema 的顺序写入,null 值会写成空字符串。
common options
Sink插件常用参数,请参考 Sink常用选项 了解详情.
示例
发送单表数据到多个收件人
这个示例来自 Email e2e 任务。示例使用不需要认证的测试 SMTP 服务,并给 email_to_address
中的每个邮箱各发送一封邮件。
env {
parallelism = 1
job.mode = "BATCH"
}
source {
FakeSource {
tables_configs = [
{
row.num = 100
schema = {
table = "test.table1"
columns = [
{
name = "id"
type = "bigint"
},
{
name = "name"
type = "string"
},
{
name = "age"
type = "int"
}
]
}
}
]
}
}
sink {
EmailSink {
email_from_address = "sender@example.com"
email_to_address = "receiver-1@example.com,receiver-2@example.com"
email_host = "email-e2e"
email_transport_protocol = "smtp"
email_smtp_auth = false
email_smtp_port = 3025
email_authorization_code = ""
email_message_headline = "test-title"
email_message_content = "test-content"
email_attachment_name = "report.csv"
email_field_delimiter = "|"
}
}
发送多表数据
Email sink 支持多表输入。在 e2e 任务中,两个上游表会让每个收件人收到两封邮件。
source {
FakeSource {
tables_configs = [
{
row.num = 100
schema {
table = "test.table1"
fields {
id = bigint
name = string
age = int
}
}
},
{
row.num = 100
schema {
table = "test.table2"
fields {
id = bigint
name = string
age = int
}
}
}
]
}
}
sink {
EmailSink {
email_from_address = "sender@example.com"
email_to_address = "receiver-3@example.com,receiver-4@example.com"
email_host = "email-e2e"
email_transport_protocol = "smtp"
email_smtp_auth = false
email_smtp_port = 3025
email_authorization_code = ""
email_message_headline = "test-title"
email_message_content = "test-content"
}
}
变更日志
Change Log
| Change | Commit | Version |
|---|---|---|
| [improve] email connector options (#8983) | https://github.com/apache/seatunnel/commit/7821e824dd | 2.3.10 |
| [Improve] restruct connector common options (#8634) | https://github.com/apache/seatunnel/commit/f3499a6eeb | 2.3.10 |
| [Improve][Transform] Rename sql transform table name from 'fake' to 'dual' (#8298) | https://github.com/apache/seatunnel/commit/e6169684fb | 2.3.9 |
[Feature][Core] Rename result_table_name/source_table_name to plugin_input/plugin_output (#8072) | https://github.com/apache/seatunnel/commit/c7bbd322db | 2.3.9 |
| [Feature][Restapi] Allow metrics information to be associated to logical plan nodes (#7786) | https://github.com/apache/seatunnel/commit/6b7c53d03c | 2.3.9 |
| [Improve][Connector-V2]Support multi-table sink feature for email (#7368) | https://github.com/apache/seatunnel/commit/c880b7aa4d | 2.3.8 |
[Improve][Common] Adapt FILE_OPERATION_FAILED to CommonError (#5928) | https://github.com/apache/seatunnel/commit/b3dc0bbc21 | 2.3.4 |
| [Feature][Engine] Unify job env parameters (#6003) | https://github.com/apache/seatunnel/commit/2410ab38f0 | 2.3.4 |
| [Improve][Common] Introduce new error define rule (#5793) | https://github.com/apache/seatunnel/commit/9d1b2582b2 | 2.3.4 |
[Improve] Remove use SeaTunnelSink::getConsumedType method and mark it as deprecated (#5755) | https://github.com/apache/seatunnel/commit/8de7408100 | 2.3.4 |
| [Improve][build] Give the maven module a human readable name (#4114) | https://github.com/apache/seatunnel/commit/d7cd601051 | 2.3.1 |
| [Improve][Project] Code format with spotless plugin. (#4101) | https://github.com/apache/seatunnel/commit/a2ab166561 | 2.3.1 |
| [Improve][Connector-V2][Email] Unified exception for email connector (#3898) | https://github.com/apache/seatunnel/commit/829261e1a6 | 2.3.1 |
| [Hotfix][OptionRule] Fix option rule about all connectors (#3592) | https://github.com/apache/seatunnel/commit/226dc6a119 | 2.3.0 |
| [Connector][Email] Add Email Sink Factory (#3326) | https://github.com/apache/seatunnel/commit/0645d11180 | 2.3.0 |
| [Improve][all] change Log to @Slf4j (#3001) | https://github.com/apache/seatunnel/commit/6016100f12 | 2.3.0-beta |
| [#2606]Dependency management split (#2630) | https://github.com/apache/seatunnel/commit/fc047be69b | 2.2.0-beta |
| [Connector-V2] Add Email sink connector (#2304) | https://github.com/apache/seatunnel/commit/96f2a15e4d | 2.2.0-beta |