Email notifications on Silvershop

I have a standard SilverShop setup with Silverstripe 4 latest everything is working fine with WorldPay test server and Invoice Manual. Although having requested email notifications for admin and buyer nothing is being sent. Does anyone have any idea why this is happening? I am so close to finishing this it is so annoying.

My server is Centos standard Plesk setup. I have a userform and have sent mail from it and works fine to the email address used for purchase.

Anyone please help preserve my hair.

Steve

This is what I have in a .yml file on a working silverShop site:

SilverShop\Forms\OrderActionsForm:
  email_notification: true  # Send email upon cancellation of an order
  allow_cancelling: true
  allow_paying: true

SilverShop\Checkout\OrderProcessor:
  send_confirmation: true  #send order confirmation when an order is placed, but unpaid
  send_admin_notification: true  # copy to admin

SilverShop\Extension\ShopConfigExtension:
  base_currency: 'AUD'
  email_from: email@sample.com
  receipt_subject: "Thank you for your order - Order #%d"

Plus this:

SilverStripe\Control\Email\Email:
  admin_email:
    email@sample.com: 'Company Name'

You said that some emails are delivered so not sure if this will help. But how is the app and/or the server configured to send email? It’s possible that PHP is handing off the emails but the OS isn’t delivering them. Or they’re being sent but being flagged as spam at some point along the way because your web server isn’t considered trustworthy for the domain you’re sending from.

For the best deliverability you should probably use a third party tool like Postmark, MailGun, SendGrid etc. and make sure that you have verified the domain you’re sending emails from by setting up a DKIM record. You can have Silverstripe send all emails through one of these services, easiest way is probably to use SMTP https://docs.silverstripe.org/en/4/developer_guides/email/#configuration