# Email Workers API 参考
Cloudflare Email Workers 运行时的完整 API 参考。
## ForwardableEmailMessage 接口
传递给邮件处理器的主要接口。
typescript
interface ForwardableEmailMessage {
readonly from: string; // 信封 MAIL FROM (SMTP 发件人)
readonly to: string; // 信封 RCPT TO (SMTP 收件人)
readonly headers: Headers; // Web 标准 Headers 对象
readonly raw: ReadableStream; // 原始 MIME 消息 (单次使用流)
readonly rawSize: number; // 消息总大小 (字节)
setReject(reason: string): void;
forward(rcptTo: string, headers?: Headers): Promise;
reply(message: EmailMessage): Promise;
}
### 属性
| 属性 | 类型 | 描述 |
|----------|------|-------------|
| `from` | string | 信封发件人 (SMTP MAIL FROM) - 用于安全性 |
| `to` | string | 信封收件人 (SMTP RCPT TO) |
| `headers` | Headers | 消息头 (Subject, Message-ID 等) |
| `raw` | ReadableStream | 原始 MIME 消息 (**单次使用**,需先缓存) |
| `rawSize` | number | 消息大小 (字节) |
### 方法
#### setReject(reason: string): void
以永久 SMTP 5xx 错误拒绝。邮件不会投递,发件人可能会收到退信。
typescript
if (blockList.includes(message.from)) {
message.setReject('Sender blocked');
}
#### forward(rcptTo: string, headers?: Headers): Promise
转发至已验证的目标地址。仅允许 `X-*` 自定义头。
typescript
await message.forward('
[email protected]');
// 带自定义头
const h = new Headers();
h.set('X-Processed-By', 'worker');
await message.forward('
[email protected]', h);
#### reply(message: EmailMessage): Promise
向原始发件人发送回复 (2025 年 3 月功能)。
typescript
import { EmailMessage } from 'cloudflare:email';
import { createMimeMessage } from 'mimetext';
const msg = createMimeMessage();
msg.setSender({ name: 'Support', addr: '
[email protected]' });
msg.setRecipient(message.from);
msg.setSubject(`Re: ${message.headers.get('Subject')}`);
msg.setHeader('In-Reply-To', message.headers.get('Message-ID'));
msg.setHeader('References', message.headers.get('References') || '');
msg.addMessage({
contentType: 'text/plain',
data: 'Thank you for your message.'
});
await message.reply(new EmailMessage(
'
[email protected]',
message.from,
msg.asRaw()
));
**要求**:
- 入站邮件需具备有效的 DMARC
- 每个事件回复一次,收件人