fix: update dmarc to main domain and not sub domain (#200)

This commit is contained in:
KM Koushik
2025-08-23 22:30:20 +10:00
committed by GitHub
parent 060165b449
commit 8ce5e4b2dd
3 changed files with 15 additions and 14 deletions

View File

@@ -0,0 +1,3 @@
-- Reset all dmarcAdded to false since previous verification logic was incorrect
-- DMARC should be checked on main domain, not subdomain
UPDATE "Domain" SET "dmarcAdded" = false WHERE "dmarcAdded" = true;

View File

@@ -42,7 +42,7 @@ export default function DomainItemPage({
{
refetchInterval: (q) => (q?.state.data?.isVerifying ? 10000 : false),
refetchIntervalInBackground: true,
}
},
);
const verifyQuery = api.domain.startVerification.useMutation();
@@ -54,7 +54,7 @@ export default function DomainItemPage({
onSettled: () => {
domainQuery.refetch();
},
}
},
);
};
@@ -194,11 +194,9 @@ export default function DomainItemPage({
<TableCell>
<div className="flex gap-2 items-center">
<span className="text-sm text-muted-foreground">
(optional)
(recommended)
</span>
<TextWithCopyButton
value={`_dmarc.${domainQuery.data?.subdomain || domainQuery.data?.name}`}
/>
<TextWithCopyButton value="_dmarc" />
</div>
</TableCell>
<TableCell className="">
@@ -234,7 +232,7 @@ const DomainSettings: React.FC<{ domain: Domain }> = ({ domain }) => {
const utils = api.useUtils();
const [clickTracking, setClickTracking] = React.useState(
domain.clickTracking
domain.clickTracking,
);
const [openTracking, setOpenTracking] = React.useState(domain.openTracking);
@@ -247,7 +245,7 @@ const DomainSettings: React.FC<{ domain: Domain }> = ({ domain }) => {
utils.domain.invalidate();
toast.success("Click tracking updated");
},
}
},
);
}
@@ -260,7 +258,7 @@ const DomainSettings: React.FC<{ domain: Domain }> = ({ domain }) => {
utils.domain.invalidate();
toast.success("Open tracking updated");
},
}
},
);
}
return (

View File

@@ -58,7 +58,7 @@ export async function createDomain(
teamId: number,
name: string,
region: string,
sesTenantId?: string
sesTenantId?: string,
) {
const domainStr = tldts.getDomain(name);
@@ -105,7 +105,7 @@ export async function getDomain(id: number) {
if (domain.isVerifying) {
const domainIdentity = await ses.getDomainIdentity(
domain.name,
domain.region
domain.region,
);
const dkimStatus = domainIdentity.DkimAttributes?.Status;
@@ -114,7 +114,7 @@ export async function getDomain(id: number) {
const verificationStatus = domainIdentity.VerificationStatus;
const lastCheckedTime =
domainIdentity.VerificationInfo?.LastCheckedTimestamp;
const _dmarcRecord = await getDmarcRecord(domain.name);
const _dmarcRecord = await getDmarcRecord(tldts.getDomain(domain.name)!);
const dmarcRecord = _dmarcRecord?.[0]?.[0];
domain = await db.domain.update({
@@ -150,7 +150,7 @@ export async function getDomain(id: number) {
export async function updateDomain(
id: number,
data: { clickTracking?: boolean; openTracking?: boolean }
data: { clickTracking?: boolean; openTracking?: boolean },
) {
return db.domain.update({
where: { id },
@@ -170,7 +170,7 @@ export async function deleteDomain(id: number) {
const deleted = await ses.deleteDomain(
domain.name,
domain.region,
domain.sesTenantId ?? undefined
domain.sesTenantId ?? undefined,
);
if (!deleted) {