Why SMTP configuration matters for APEX apps
Reliable email delivery is important for every Oracle APEX application. Account verification emails, password reset links, workflow alerts, invoices and customer notifications all need a properly configured SMTP relay.
On nwavecloud, SMTP options depend on the hosting plan for the service.
Shared hosting plans use the default mail configuration. Shared plans cannot change SMTP relay details and are limited to 1,000 emails per day.
Dedicated hosting plans and higher can use service-specific SMTP relay details. These details are shown in the console under the Manage Service card for the hosted service. Eligible customers may also configure their own SMTP relay if they prefer to use an external email provider, corporate mail system or dedicated transactional email service.
For plan details, see the nwavecloud pricing page. To manage an existing service, log in to the nwavecloud console.
Where to find SMTP details
For dedicated hosting plans and above, log in to the console and open the service you want to manage.
Inside the Manage Service card, you will see the SMTP relay information for that service. The details normally include:
- SMTP host
- SMTP port
- Encryption method
- SMTP username
- SMTP password or generated credential
- Sending limits
- Sender or domain requirements
Use these values when configuring Oracle APEX instance email settings or when sending mail through approved database packages.
Do not share SMTP credentials publicly, commit them to Git repositories, store them in unencrypted application tables or paste them into support channels that are not designed for secrets.
Recommended SMTP settings
In most cases, use the configuration shown by your Manage Service card.
| Setting | Recommended value |
|---|---|
| SMTP port | 2525 |
| Encryption | STARTTLS, also shown in some UIs as TLS after connection |
| Authentication | Required |
| Sender address | A verified address from your own domain |
| Daily limit | According to your plan or relay configuration |
The exact SMTP host, username and password are service-specific. Do not guess these values from another environment.
Option 1: configure SMTP in APEX Administration
This option is normally used when you have access to Oracle APEX Administration Services for your hosted environment.
- Log in to Oracle APEX Administration Services.
- Go to Manage Instance.
- Open Instance Settings.
- Scroll to the Email section.
- Enter the SMTP details from your Manage Service card.
- Set the SMTP host address.
- Set the SMTP port, usually
2525. - Enter the SMTP username.
- Enter and confirm the SMTP password.
- Set SSL/TLS to After connection is established, STARTTLS or the equivalent value shown by your APEX version.
- Save the settings.
- Send a test email from APEX or from a controlled application test.
After saving the configuration, APEX applications using APEX_MAIL will send through the configured SMTP relay.
Option 2: configure SMTP with APEX_INSTANCE_ADMIN
If you manage your APEX instance through SQL, you can configure SMTP using the APEX_INSTANCE_ADMIN package.
Run this only as a database user with the required APEX administration privileges.
BEGIN
APEX_INSTANCE_ADMIN.SET_PARAMETER(
p_parameter => 'SMTP_HOST_ADDRESS'
,p_value => '<SMTP_HOST_FROM_MANAGE_SERVICE>'
);
APEX_INSTANCE_ADMIN.SET_PARAMETER(
p_parameter => 'SMTP_HOST_PORT'
,p_value => '2525'
);
APEX_INSTANCE_ADMIN.SET_PARAMETER(
p_parameter => 'SMTP_TLS_MODE'
,p_value => 'STARTTLS'
);
APEX_INSTANCE_ADMIN.SET_PARAMETER(
p_parameter => 'SMTP_USERNAME'
,p_value => '<SMTP_USERNAME_FROM_MANAGE_SERVICE>'
);
APEX_INSTANCE_ADMIN.SET_PARAMETER(
p_parameter => 'SMTP_PASSWORD'
,p_value => '<SMTP_PASSWORD_FROM_MANAGE_SERVICE>'
);
COMMIT;
END;
/
Some APEX versions and environments use different accepted values for TLS mode, such as Y for TLS. Use the value shown in your service instructions or APEX Administration UI when it differs.
After updating the instance settings, send a controlled test email and check the APEX mail queue and mail log.
Sending a test email with APEX_MAIL
After SMTP is configured, test email delivery with APEX_MAIL.
DECLARE
l_mail_id NUMBER;
BEGIN
APEX_UTIL.SET_WORKSPACE(
p_workspace => '<YOUR_WORKSPACE_NAME>'
);
l_mail_id := APEX_MAIL.SEND(
p_to => 'recipient@example.com'
,p_from => 'no-reply@your-domain.com'
,p_subj => 'SMTP test from nwavecloud'
,p_body => 'This is a plain text SMTP test.'
,p_body_html => '<p>This is an HTML SMTP test.</p>'
);
COMMIT;
APEX_MAIL.PUSH_QUEUE;
END;
/
The p_from address should be a real and approved sender address from your own domain. Avoid using free mailbox addresses such as Gmail, Outlook or Yahoo as the sender for application emails.
Using your own SMTP relay
Dedicated hosting plans and higher may configure their own SMTP relay instead of using the hosted relay.
This can be useful when:
- You already use a corporate email provider.
- You want all transactional email under your own provider account.
- You require custom sender reputation management.
- You want separate logs, analytics or bounce processing.
- You already have SPF, DKIM and DMARC configured for your domain.
When using your own relay, enter your provider’s SMTP host, port, username, password and TLS settings in APEX Administration Services or through APEX_INSTANCE_ADMIN.
Your own relay must support authenticated SMTP and must allow sending from the application sender address you plan to use.
DNS requirements for better deliverability
For best delivery results, configure your sender domain DNS correctly.
At minimum, your domain should have:
- An SPF record authorizing the sending service.
- DKIM records for message signing.
- A DMARC policy for domain protection.
- A real sender mailbox or monitored reply address.
Incorrect DNS configuration can cause emails to land in spam or be rejected by recipient mail servers.
Responsible sending rules
SMTP access must be used only for legitimate application and business emails.
Do not use the relay to send spam, unsolicited marketing, purchased lists, scraped email addresses or third-party lead lists. Mailing lists must be opt-in and kept up to date.
Do not use SMTP to test whether old or unknown email addresses are valid. This is considered list cleaning by sending and can damage sender reputation.
For bulk or marketing emails, every message must include a clear unsubscribe option. Transactional emails, such as password resets and invoice notifications, should only be sent when there is a real application event behind the message.
Bounce and spam complaint limits
To protect customers and maintain good email deliverability, the platform monitors bounce rates, spam complaints and rejected messages.
As a general rule:
- Keep bounce rates below 5%.
- Keep spam complaints below 0.10%.
- Remove invalid addresses immediately.
- Do not repeatedly send to addresses that hard bounce.
- Do not resend to users who unsubscribed or reported the email as spam.
- Review your application logic if many emails are rejected.
High bounce rates usually mean your recipient list is outdated or contains invalid addresses. High spam complaint rates usually mean recipients did not expect or did not want the email.
SMTP access may be throttled, suspended or disabled for a service if sending behavior affects platform reputation, violates acceptable use rules or creates risk for other customers.
Troubleshooting
If emails are not being delivered, check the following:
- Confirm the SMTP host, port, username and password.
- Confirm TLS is set correctly.
- Check that the sender address is allowed.
- Check the APEX mail queue.
- Check the APEX mail log.
- Check whether the recipient email address bounced.
- Verify SPF, DKIM and DMARC records.
- Confirm your application commits after calling
APEX_MAIL.SEND. - Confirm the email is not blocked by your own application logic.
- Contact support if the relay details from your Manage Service card do not validate.
You can inspect queued and sent emails using APEX Administration Services or by checking the APEX mail queue and mail log views if your database user has access.
FAQ
Can shared hosting plans use a custom SMTP relay?
No. Shared hosting plans use the default mail configuration and cannot change SMTP relay details. Shared plans are limited to 1,000 emails per day.
Where do dedicated plan customers find SMTP credentials?
Dedicated hosting plans and higher can find service-specific SMTP relay details inside the console under the Manage Service card.
Can I use my own transactional email provider?
Eligible dedicated hosting plans and higher may configure their own SMTP relay. The relay must support authenticated SMTP and must allow sending from your approved application sender address.
Which SMTP port should I use?
Use the value shown in your service details. In most hosted SMTP configurations, the recommended port is 2525 with STARTTLS.
Why are SPF, DKIM and DMARC important?
They help receiving mail servers verify that your application is allowed to send email for your domain. Without proper DNS records, messages are more likely to be rejected or placed in spam.
Summary
Shared hosting plans use the default SMTP configuration and are limited to 1,000 emails per day.
Dedicated hosting plans and above can use SMTP relay details shown under the Manage Service card. Eligible customers may also configure their own SMTP relay through Oracle APEX Administration Services or by using the APEX_INSTANCE_ADMIN database package.
Correct SMTP configuration, verified DNS records and responsible sending practices are essential for reliable email delivery.