Read the email settings of a site
get_site_email_settings
Reads how a site sends email, from its address, usage and limits to its own email domains and where mail sent to it is forwarded.
enabled says whether sending is on, which it is by default for every site, and available whether email sending is available on the platform at all, with availabilityMessage when it is not. When the site's own EMAIL_URL or EMAIL_PRIVATE_KEY secret keeps its email off, secretConflict names that secret and secretConflictMessage says to rename or delete it in Secrets, because Modulify never writes over it.
fromAddress is the full address the site sends from right now, fromLocal the part in front of its @ and effectiveDomain the domain after it. sendingDomain is the site's built-in sending domain, and selectedDomain the email domain chosen to send from, null while none is chosen. fromFallback is true while that chosen domain is not verified, so email goes out from the built-in address instead, and fromPaused says whether that is because the email domains are paused. The part in front of the @ is changed with update_site_email_settings, and the domain after it with set_site_email_sending_domain.
repliesForwarded says whether a reply to the sending address reaches Modulify's forwarding, which passes it to the site's confirmed forwarding addresses only while forwarding.enabled is true. It is false when the site sends from its own domain without receiving on it, or before that domain's MX record points here, so replies reach that domain's own mailboxes. repliesDiscarded says whether such a reply is discarded instead, because receiving is off for the domain the site sends from while its MX record already points here. Turning on receiving, setting a reply-to or pointing the MX record back fixes that.
fromName is the sender name shown beside the address in an inbox, and fromNameFollowsSiteName says whether it is the site's own name, followed when the site is renamed, rather than a custom one. replyTo is the reply-to address when one is set. trackEngagement says whether open and click tracking is on for the site, which it is by default, and trackingAvailable whether tracking is set up on the platform at all.
disabledReason, disabledSource and disabledAt say why, by whom and when sending was turned off, and needsPublish says whether the live site still needs a publish before its email works. When sending was turned off on its own because too many of the site's messages bounced or got marked as spam, disabledSource reads reputation, and only you can turn it back on, from the Emails tab.
usage is this calendar month's usage with how many sends are left, the same usage get_site_email_usage reads on its own, limits holds the per message limits and apiUrl is the API URL the site's code sends to. Every recipient counts as one send, so one message to five people uses five, and a test email is free and never counts. A single message goes to at most 50 recipients, and at most 60 sends go out a minute.
A site includes 50 sends a calendar month on Free, 10,000 on Starter, 30,000 on Pro and 50,000 on Enterprise. Past that a paid plan keeps sending, every further block of 2,000 sends costs 8 credits on Starter and Enterprise and 4 on Pro, charged automatically the moment a send crosses the line, and sending pauses once there are no credits left, while Free stops at its limit. usage.paused is set while sending is paused, with its reason (no-credits or plan-limit), since and refused, the number of sends refused so far, and it clears on its own with the next send that goes through, once credits are added or the month resets.
Email domains
emailDomains describes the site's own email domains. items lists each one with its id, the domain, its status (pending until it is verified, verified, or failing when it stopped working after it was verified), its dkimStatus, whether it is the domain chosen to send from (selected), whether receiving is turned on for it (receiveEnabled), and whether receiving is on and the domain is verified, so mail that reaches Modulify for it is forwarded (receiving).
Each item also says whether its MX record points here (mxValid), whether another site holds it (heldElsewhere, with that site's name in heldBy when it is in the same workspace), whether every required record was found (recordsFound), and whether this site's ownership record was found at the last check (ownershipFound). needsOwnershipRecord is true while this site does not hold the domain and the record is not found, and again when the domain has been failing for over 24 hours while its ownership record is not found. The tool tells the client to ask you to add that record only when ownershipFound is false.
canRestart says whether the domain's verification can be restarted, and paused whether the domain is paused, which means it neither sends nor receives until the workspace is on a paid plan again and cannot be chosen to send from. records lists the DNS records to add at the domain's DNS host, each with its purpose, type, name, value, priority, whether it is required and its status.
Next to the list, paid says whether the workspace can add an email domain, which needs a paid plan, and paused whether the site's email domains are paused because the workspace has no paid plan any more. limit is how many a site can have, 3. canManage says whether you may change them, which needs the Manage domains permission, and canManageReceiving whether you may turn receiving on, which needs the Delete projects permission.
recommended is a domain worth suggesting because the site already uses it, taken from the site's primary custom domain without www., or from the first custom domain added while none is connected, and builtInDomain is the built-in sending domain. add_site_email_domain, check_site_email_domain, remove_site_email_domain, set_site_email_sending_domain, set_site_email_domain_receiving and restart_site_email_domain_verification work on them.
Forwarding
forwarding says what happens to mail sent to the site. While forwarding.enabled is true, which it is by default, mail to any address at sendingDomain, and at each verified email domain with receiving on, replies to a sending address on those domains included, is forwarded to the site's confirmed forwarding addresses and never to anyone else. Forwarding keeps running while sending is off. A forward comes from a Modulify forwarding address, one for each original sender, and its reply-to is the original email's reply-to, or the original sender when it had none.
forwarding.available is false when forwarding is not set up on the platform. forwarding.recipients lists the site's forwarding addresses, each with its id, its email, with most of it hidden like b***@gmail.com unless you have the Delete projects permission, and its status: verified once confirmed, or pending while the confirmation link sent to it has not been opened, and nothing is forwarded to it until then. Each also carries addedAt, verifiedAt, sentAt, when its latest confirmation link went out (null while none could be sent), and expiresAt, when that link stops working for a pending address. forwarding.limit is how many a site can have, 5.
Every site starts with the workspace owner's account email on the list, confirmed at once when the owner's sign-in confirms that address, through a verified email or a Google or GitHub sign-in, and otherwise pending with no link sent until resend_site_email_forward_address sends one. When the site moves to another workspace, the list starts over with that workspace owner's account email, and when its workspace gets a new owner, the new owner's account email takes the previous owner's place. An address you add gets a confirmation link, except your own account email when your sign-in confirms it and an address at one of the site's own domains, which count as confirmed at once. An address whose forwards bounce for good, or that marks one as spam, is taken off the list on its own, and while no address is confirmed, mail sent to the site is dropped.
forwarding.address is the built-in pattern of addresses that forward, *@ followed by sendingDomain, like *@prj-xxxxxxxxxxxxxx.modulify.website. forwarding.addresses lists every pattern that forwards, the built-in one first, then one for each email domain whose receiving is true, like *@example.com. set_site_email_forwarding turns forwarding on or off, and add_site_email_forward_address, resend_site_email_forward_address and remove_site_email_forward_address change the forwarding addresses, each with the Delete projects permission, like Forwarding on the Settings tab of the Emails tab. set_site_email_domain_receiving only turns receiving on or off for one email domain. See Forwarding addresses.
Inputs
| Input | Type | Required | Description |
|---|---|---|---|
projectId |
string | Yes | The site id. |