InsightHireHelp Center

Custom email (SMTP)

Configure custom SMTP and transactional email providers for organization outbound mail.

InsightHire sends journey invites, interview notifications, and recruiter messages from your organization's email identity when custom email is configured. The primary self-serve path is SMTP, with additional API providers supported.

Detailed SMTP reference: docs.insighthire.com/email/smtp

Settings path

ActionPath
Email settings hub/admin/email-settings
Provider setup wizard/admin/email-settings/setup
Verify configuration/admin/email-settings/verify

Email configuration requires org admin privileges (adminOrgProcedure for create/update/test).

Supported providers

ProviderTypeCommon use
SMTPSMTP relayGmail, Outlook, custom mail server
SendGridAPIHigh-volume transactional
MailgunAPIDeveloper-friendly ESP
ResendAPIModern transactional API
AWS SESAPIAWS-native sending
PostmarkAPIReliable transactional
SparkPostAPIAnalytics-focused ESP

Default platform journey pipeline may use InsightHire-operated Mailgun (in.insighthire.com) for inbound Indeed apply — that is separate from your outbound SMTP/API configuration.

SMTP setup

Required fields

FieldTypical valueNotes
Hostsmtp.gmail.com, smtp.office365.com, etc.Your provider's SMTP hostname
Port587 (STARTTLS) or 465 (SSL)Provider-specific
UsernameFull email or API usernameOften the sending address
PasswordApp password or SMTP credentialNot your main account password for Gmail
Securefalse for 587 + STARTTLStrue for implicit SSL on 465
Require TLStrue (recommended)Upgrades plain connection

From identity

Also configure on create:

  • From email — must be authorized by your SMTP provider
  • From name — display name candidates see
  • Reply-To — optional override for candidate replies

Setup flow

  1. Go to /admin/email-settings/setup.
  2. Select SMTP Server.
  3. Enter host, port, username, password, and TLS options.
  4. Set from email and from name.
  5. Save via emailConfiguration.create or emailConfiguration.update.
  6. Complete verification (see below).

For provider-specific guidance (Gmail app passwords, Office 365 SMTP auth, SPF/DKIM), see docs.insighthire.com/email/smtp.

Verification

After saving, InsightHire issues a verification token. The verify flow:

  1. InsightHire sends a confirmation email using the new configuration.
  2. Recipient clicks the verification link (or submit token via emailConfiguration.verify).
  3. Configuration marked verified — outbound mail uses org settings.

Unverified configurations may be rejected at send time.

Testing

ActionProcedure
Test SMTP connectionemailConfiguration.test
Send test messageemailConfiguration.sendTest with to, subject, body

Test emails include tracking pixels when enabled (trackOpens, trackClicks on enhanced email service).

Domain authentication (API providers)

For SendGrid, Mailgun, SES, etc.:

  1. emailConfiguration.addDomain — register sending domain
  2. Add DNS records (SPF, DKIM, DMARC) at your DNS host
  3. emailConfiguration.verifyDomain — confirm records propagated

emailConfiguration.getDomains lists domain verification status.

How outbound mail is routed

enhanced-email.service.ts resolves sending path per organization:

  1. Load email_configurations for org
  2. Check rate limits (emailConfiguration.checkRateLimits)
  3. Create transporter — SMTP via nodemailer or provider SDK for API types
  4. Send and increment usage counters
  5. Log to email logs for statistics

If no org configuration exists, platform default sending may apply for certain system emails — journey invites should use org SMTP when configured.

API reference

ProcedureAccessPurpose
emailConfiguration.getOrg memberCurrent config (secrets masked)
emailConfiguration.createOrg adminInitial setup
emailConfiguration.updateOrg adminChange provider/settings
emailConfiguration.verifyOrg memberConfirm via token
emailConfiguration.testOrg adminConnection test
emailConfiguration.sendTestOrg adminSend test email
emailConfiguration.addDomainOrg adminRegister domain
emailConfiguration.getDomainsOrg memberList domains
emailConfiguration.verifyDomainOrg adminDNS verification
emailConfiguration.getStatisticsOrg memberSend stats
emailConfiguration.getLogsOrg memberRecent send log

Security notes

  • Passwords and API keys stored encrypted; API returns ******** mask on read.
  • Use app-specific passwords for Gmail/Outlook — never commit credentials to source control.
  • Restrict SMTP credentials to send-only service accounts where possible.
  • Enable SPF, DKIM, and DMARC on your sending domain to protect deliverability.

Troubleshooting

SymptomCheck
Authentication failedUsername/password; app password enabled; SMTP auth allowed by provider
Connection timeoutFirewall, port 587 vs 465, secure/requireTLS mismatch
Messages go to spamSPF/DKIM/DMARC; verify domain; warm up new sender
Verification never arrivesCheck spam; confirm from address allowed by provider
Rate limit errorsgetStatistics — org may have hit configured send limits

External reference