- Your website sends email too: contact forms, order confirmations, password resets.
- Most Nepali sites send them the fragile way and lose messages silently.
- Here is the reliable setup.
Ask a Nepali business owner whether their website email works and they will say yes โ until you test the contact form and the enquiry never arrives. Website-generated mail (contact forms, order confirmations, OTPs, password resets) fails silently more than any other kind. The cause is almost always the same: the site sends through the raw PHP mail function instead of authenticated SMTP.
Why Default PHP Mail Fails
- Messages leave from the web server process with no SMTP authentication, a pattern filters distrust deeply.
- Shared server IPs used by hundreds of websites carry battered reputations.
- The From address is often forged relative to SPF โ instant alignment failure.
- There are no logs you can read, so failures are invisible.
The Fix: Authenticated SMTP
Create a dedicated mailbox such as noreply@yourdomain.com.np or website@yourdomain.com.np, then configure the site to send through it with SMTP authentication on port 465 or 587. The message now leaves your real mail server, covered by your SPF and DKIM, indistinguishable from human mail.
- WordPress: install an SMTP plugin (WP Mail SMTP or similar), enter host, port, username and password, and send the built-in test message.
- Laravel: set MAIL_MAILER=smtp with host, port, encryption and credentials in the environment file; queue mail for reliability on slow connections.
- WooCommerce and forms plugins: once WordPress core mail uses SMTP, order and form mail follows automatically.
Getting the From and Reply-To Right
- From: always an address on your own domain โ never the visitor address typed into the form, which forges mail and fails DMARC.
- Reply-To: set this to the visitor address so staff can hit Reply naturally.
- Send a copy of each form submission to a monitored mailbox and store submissions in the database as a safety net.
OTPs and Time-Critical Messages
Login codes and payment confirmations must arrive in seconds. For these, a transactional email API service (or the SMTP relay of a serious provider) beats a shared cPanel server: dedicated throughput, delivery logs and webhook feedback on bounces. For e-commerce sites taking eSewa and Khalti payments, the payment confirmation email is part of the checkout experience โ treat its delivery as seriously as the payment itself.
Testing Like You Mean It
- Submit the contact form to Gmail, Outlook and Yahoo test addresses โ check inbox and spam.
- Place a test order and time the confirmation delivery.
- Trigger a password reset at midnight traffic levels and at peak.
- Re-test after every hosting migration and SSL renewal โ the two events that silently break SMTP settings.
Frequently Asked Questions
Should transactional mail come from noreply@?
It is common, but a replyable address like support@ is friendlier and improves engagement signals. If you use noreply@, make sure the mailbox exists so it does not bounce.
My form mail arrives in the client inbox but not mine. Why?
Sending to an address on the same domain sometimes short-circuits locally with misconfigured MX โ fix the routing setting (local vs remote mail exchanger) in cPanel.
Every WebsNP hosting plan supports authenticated SMTP, and our email plans include a website mailbox โ ask us to configure your forms.