fix(smtp): use noreply@rmail.online as sender across all modules
Mailcow rejects noreply@rspace.online because the authenticated user is noreply@rmail.online. Updated all SMTP_FROM and SMTP_USER defaults to use rmail.online consistently: spaces invites, rSplat notifications, EncryptID auth emails, and rCart payment receipts. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
315a29a6d7
commit
1f97a2ceba
|
|
@ -216,9 +216,9 @@ services:
|
|||
- DATABASE_URL=postgres://encryptid:${ENCRYPTID_DB_PASSWORD}@encryptid-db:5432/encryptid
|
||||
- SMTP_HOST=${SMTP_HOST:-mailcowdockerized-postfix-mailcow-1}
|
||||
- SMTP_PORT=${SMTP_PORT:-587}
|
||||
- SMTP_USER=${SMTP_USER:-noreply@rspace.online}
|
||||
- SMTP_USER=${SMTP_USER:-noreply@rmail.online}
|
||||
- SMTP_PASS=${SMTP_PASS}
|
||||
- SMTP_FROM=${SMTP_FROM:-EncryptID <noreply@rspace.online>}
|
||||
- SMTP_FROM=${SMTP_FROM:-EncryptID <noreply@rmail.online>}
|
||||
- RECOVERY_URL=${RECOVERY_URL:-https://auth.rspace.online/recover}
|
||||
- MAILCOW_API_URL=${MAILCOW_API_URL:-http://nginx-mailcow:8080}
|
||||
- MAILCOW_API_KEY=${MAILCOW_API_KEY:-}
|
||||
|
|
|
|||
|
|
@ -2120,7 +2120,7 @@ async function sendPaymentSuccessEmail(
|
|||
].join('\n');
|
||||
|
||||
await transport.sendMail({
|
||||
from: 'rSpace <noreply@rspace.online>',
|
||||
from: process.env.SMTP_FROM || 'rSpace <noreply@rmail.online>',
|
||||
to: email,
|
||||
subject: `Payment confirmed \u2014 ${p.amount} ${p.token}`,
|
||||
html,
|
||||
|
|
@ -2196,7 +2196,7 @@ async function sendPaymentReceivedEmail(
|
|||
].join('\n');
|
||||
|
||||
await transport.sendMail({
|
||||
from: 'rSpace <noreply@rspace.online>',
|
||||
from: process.env.SMTP_FROM || 'rSpace <noreply@rmail.online>',
|
||||
to: email,
|
||||
subject: `Payment received \u2014 ${p.amount} ${p.token}`,
|
||||
html,
|
||||
|
|
|
|||
|
|
@ -697,7 +697,7 @@ if (process.env.SMTP_PASS) {
|
|||
secure: Number(process.env.SMTP_PORT) === 465,
|
||||
tls: { rejectUnauthorized: false },
|
||||
auth: {
|
||||
user: "noreply@rspace.online",
|
||||
user: process.env.SMTP_USER || "noreply@rmail.online",
|
||||
pass: process.env.SMTP_PASS,
|
||||
},
|
||||
});
|
||||
|
|
@ -709,7 +709,7 @@ async function sendSplatEmail(job: Gen3DJob) {
|
|||
const title = job.title || "3D Model";
|
||||
try {
|
||||
await splatMailTransport.sendMail({
|
||||
from: process.env.SMTP_FROM || "rSplat <noreply@rspace.online>",
|
||||
from: process.env.SMTP_FROM || "rSplat <noreply@rmail.online>",
|
||||
to: SPLAT_NOTIFY_EMAIL,
|
||||
subject: `Your 3D splat "${title}" is ready — rSplat`,
|
||||
html: `
|
||||
|
|
|
|||
|
|
@ -2082,7 +2082,7 @@ if (process.env.SMTP_PASS) {
|
|||
port: Number(process.env.SMTP_PORT) || 587,
|
||||
secure: Number(process.env.SMTP_PORT) === 465,
|
||||
auth: {
|
||||
user: process.env.SMTP_USER || "noreply@rspace.online",
|
||||
user: process.env.SMTP_USER || "noreply@rmail.online",
|
||||
pass: process.env.SMTP_PASS,
|
||||
},
|
||||
tls: { rejectUnauthorized: false },
|
||||
|
|
@ -2148,7 +2148,7 @@ spaces.post("/:slug/invite", async (c) => {
|
|||
|
||||
try {
|
||||
await inviteTransport.sendMail({
|
||||
from: process.env.SMTP_FROM || "rSpace <noreply@rspace.online>",
|
||||
from: process.env.SMTP_FROM || "rSpace <noreply@rmail.online>",
|
||||
to: body.email,
|
||||
subject: `You're invited to join "${slug}" on rSpace`,
|
||||
html: [
|
||||
|
|
|
|||
|
|
@ -153,9 +153,9 @@ const CONFIG = {
|
|||
host: process.env.SMTP_HOST || 'mail.rmail.online',
|
||||
port: parseInt(process.env.SMTP_PORT || '587'),
|
||||
secure: false, // STARTTLS on 587
|
||||
user: process.env.SMTP_USER || 'noreply@rspace.online',
|
||||
user: process.env.SMTP_USER || 'noreply@rmail.online',
|
||||
pass: process.env.SMTP_PASS || '',
|
||||
from: process.env.SMTP_FROM || 'EncryptID <noreply@rspace.online>',
|
||||
from: process.env.SMTP_FROM || 'EncryptID <noreply@rmail.online>',
|
||||
},
|
||||
recoveryUrl: process.env.RECOVERY_URL || 'https://auth.rspace.online/recover',
|
||||
adminDIDs: (process.env.ADMIN_DIDS || '').split(',').filter(Boolean),
|
||||
|
|
|
|||
Loading…
Reference in New Issue