n8n-nodes-boltx-smtp
v0.1.0
Published
n8n community node — SMTP gửi mail với host/user/pass động per-item (multi-tenant). Khớp type với goworker custom executor.
Downloads
182
Maintainers
Readme
n8n-nodes-boltx-smtp
Community node n8n cho phép gửi mail SMTP với host / user / password động per-item qua expression — phục vụ multi-tenant (mỗi partner / project có 1 SMTP riêng đọc thẳng từ DB).
Node này có type khớp 1-1 với executor native bên goworker (worker/internal/engine/node_smtp.go, type n8n-nodes-boltx-smtp.smtp). Workflow viết 1 lần chạy đúng trên cả 2 runtime:
- n8n native (UI test, dev) → execute bằng
nodemailer(file này). - goworker production → execute bằng
net/smtpGo native, không spawn Node.js.
Khác n8n-nodes-base.emailSend
| | emailSend chuẩn | boltx-smtp.smtp |
|---|---|---|
| Host/user/pass | Credential cố định (1 cred / 1 SMTP) | Per-item qua expression ={{ $json.email_host }} |
| Multi-tenant N partner | Tạo N credentials + Switch | 1 node đọc thẳng PG |
Cài lên n8n self-host
Option A — Community Nodes UI (npm)
cd worker/node-raw/n8n-nodes-boltx-smtp && npm install && npm run build && npm publish(hoặc publish scoped@bolter/n8n-nodes-boltx-smtp).- Trên n8n UI → Settings → Community Nodes → Install → paste
n8n-nodes-boltx-smtp→ Install. - Restart n8n nếu cần. Node hiện trong palette là "SMTP (BoltX)" category Communication.
Option B — Mount thủ công
npm install --prefix ~/.n8n/nodes n8n-nodes-boltx-smtp
# hoặc copy `dist/` + package.json vào ~/.n8n/nodes/node_modules/n8n-nodes-boltx-smtp/Restart n8n.
Parameter khớp SMTPNode worker
| Param n8n | Field worker smtpSendArgs |
|---|---|
| host | host |
| port | port (default 587) |
| secure | secure (TLS ngầm) |
| username | user |
| password | pass |
| fromEmail | from (bắt buộc) |
| toEmail | to (string CSV hoặc array) |
| ccEmail | cc |
| bccEmail | bcc |
| subject | subject |
| html | body + isHTML=true |
| text | body + isHTML=false (fallback khi html rỗng) |
| options.allowUnauthorizedCerts | insecure (mặc định true) |
| options.requireTLS | requireTLS (mặc định true) |
Output JSON
{ "success": true, "messageId": "<...>", "accepted": ["a@x", "b@y"], "mode": "html" }Lỗi: throw NodeOperationError; bật continueOnFail để emit { success:false, error }.
Build local
npm install
npm run build # tsc + gulp copy icons → dist/
npm run dev # tsc --watch