mirror of
https://github.com/dreamhunter2333/cloudflare_temp_email.git
synced 2026-07-12 16:02:10 +08:00
feat: add SMTP proxy server (#177)
This commit is contained in:
@@ -126,6 +126,15 @@ function sidebarGuide(): DefaultTheme.SidebarItem[] {
|
||||
{ text: '开发中', link: 'github-action' },
|
||||
]
|
||||
},
|
||||
{
|
||||
text: '附加功能',
|
||||
collapsed: false,
|
||||
items: [
|
||||
{ text: '配置 SMTP 代理服务', link: 'config-smtp-proxy' },
|
||||
{ text: '发送邮件 API', link: 'feature/send-mail-api' },
|
||||
{ text: '配置子域名邮箱', link: 'feature/subdomain' },
|
||||
]
|
||||
},
|
||||
{
|
||||
text: '功能简介',
|
||||
collapsed: false,
|
||||
|
||||
41
vitepress-docs/docs/zh/guide/config-smtp-proxy.md
Normal file
41
vitepress-docs/docs/zh/guide/config-smtp-proxy.md
Normal file
@@ -0,0 +1,41 @@
|
||||
# 搭建 SMTP 代理服务
|
||||
|
||||
## 为什么需要 SMTP 代理服务
|
||||
|
||||
SMTP 的应用场景更加广泛
|
||||
|
||||
## 如何搭建 SMTP 代理服务
|
||||
|
||||
### Local Run
|
||||
|
||||
```bash
|
||||
cd smtp_proxy_server/
|
||||
# 复制配置文件, 并修改配置文件
|
||||
# 你的 worker 地址,proxy_url=https://temp-email-api.xxx.xxx
|
||||
# 你的 SMTP 服务端口,port=8025
|
||||
cp .env.example .env
|
||||
python3 -m venv venv
|
||||
./venv/bin/python3 -m pip install -r requirements.txt
|
||||
./venv/bin/python3 server.py
|
||||
```
|
||||
|
||||
### Docker Run
|
||||
|
||||
```bash
|
||||
cd smtp_proxy_server/
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
修改 docker-compose.yaml 中的环境变量, 注意选择合适的 `tag`
|
||||
|
||||
```yaml
|
||||
services:
|
||||
smtp_proxy_server:
|
||||
image: ghcr.io/dreamhunter2333/cloudflare_temp_email/smtp_proxy_server:latest
|
||||
container_name: "smtp_proxy_server"
|
||||
ports:
|
||||
- "8025:8025"
|
||||
environment:
|
||||
- proxy_url=https://temp-email-api.xxx.xxx
|
||||
- port=8025
|
||||
```
|
||||
49
vitepress-docs/docs/zh/guide/feature/send-mail-api.md
Normal file
49
vitepress-docs/docs/zh/guide/feature/send-mail-api.md
Normal file
@@ -0,0 +1,49 @@
|
||||
# 发送邮件 API
|
||||
|
||||
## 通过 HTTP API 发送邮件
|
||||
|
||||
这是一个 `python` 的例子,使用 `requests` 库发送邮件。
|
||||
|
||||
```python
|
||||
send_body = {
|
||||
"from_name": "发件人名字",
|
||||
"to_name": "收件人名字",
|
||||
"to_mail": "收件人地址",
|
||||
"subject": "邮件主题",
|
||||
"is_html": False, # 根据内容设置是否为 HTML
|
||||
"content": "<邮件内容:html 或者 文本>",
|
||||
}
|
||||
|
||||
res = requests.post(
|
||||
"http://localhost:8787/api/send_mail",
|
||||
json=send_body, headers={
|
||||
"Authorization": f"Bearer {session.auth_data.password.decode()}",
|
||||
"Content-Type": "application/json"
|
||||
}
|
||||
)
|
||||
```
|
||||
|
||||
## 通过 SMTP 发送邮件
|
||||
|
||||
请先参考 [配置 SMTP 代理](/zh/guide/config-smtp-proxy.html)。
|
||||
|
||||
这是一个 `python` 的例子,使用 `smtplib` 库发送邮件。
|
||||
|
||||
`JWT令牌密码`: 即为邮箱登录密码,可以在 UI 界面中查看密码菜单中查看。
|
||||
|
||||
```python
|
||||
import smtplib
|
||||
|
||||
from email.mime.text import MIMEText
|
||||
from email.mime.multipart import MIMEMultipart
|
||||
|
||||
|
||||
with smtplib.SMTP('localhost', 8025) as smtp:
|
||||
smtp.login("jwt", "此处填写你的JWT令牌密码")
|
||||
message = MIMEMultipart()
|
||||
message['From'] = "Me <me@awsl.uk>"
|
||||
message['To'] = "Admin <admin@awsl.uk>"
|
||||
message['Subject'] = "测试主题"
|
||||
message.attach(MIMEText("测试内容", 'html'))
|
||||
smtp.sendmail("me@awsl.uk", "admin@awsl.uk", message.as_string())
|
||||
```
|
||||
5
vitepress-docs/docs/zh/guide/feature/subdomain.md
Normal file
5
vitepress-docs/docs/zh/guide/feature/subdomain.md
Normal file
@@ -0,0 +1,5 @@
|
||||
# 配置子域名邮箱
|
||||
|
||||
参考
|
||||
|
||||
- [配置子域名邮箱](https://github.com/dreamhunter2333/cloudflare_temp_email/issues/164#issuecomment-2082612710)
|
||||
Reference in New Issue
Block a user