Point outbound email at your provider under Store Config → Email Settings and confirm it with Send Test Email. Add Twilio per location for SMS and WhatsApp. Together they power receipts, statements, status notifications, emailed reports, password resets, and employee messages.
A surprising amount of PHP Point Of Sale runs on outbound messages: receipts, statements, status updates, reports, password resets. All of it depends on two connections you set up once — an email sender and, optionally, an SMS provider — plus the built-in Messages module for notes between employees. Get the connections working early, because the first time you need them is usually mid-sale with a customer waiting.
Set up outbound email
Email is configured store-wide in Store Config → Email Settings:
- Go to Store Config in the left menu and open the Email Settings section.
- In the provider dropdown (labeled Select A Provider), choose how mail should go out. The options are Use System Default, Gmail API, Gmail, Office 365, Windows Live Hotmail, and Other.
- Fill in the fields the provider needs (detailed below), then click Save.
- Click Send Test Email, enter an address (it pre-fills with your location's email), and confirm the test arrives before moving on.
What each provider choice does:
- Use System Default — the default. Mail is sent through the platform's built-in sender with no credentials of your own; the connection fields are hidden.
- Gmail API — connect a Gmail account with OAuth instead of a password (see the next section). This is the recommended way to send through Gmail.
-
Gmail — classic SMTP through
smtp.gmail.comwith SMTP Encryptionssland SMTP Port465. These values are filled in for you; you supply the address and password. Google restricts plain password sign-in, so if Gmail rejects your password use Gmail API instead. -
Office 365 — SMTP through
smtp.office365.comwith encryptiontlson port587, filled in for you. -
Windows Live Hotmail — SMTP through
smtp.live.comwith encryptiontlson port587, filled in for you. - Other — enter everything yourself. Works with any provider that offers SMTP access.
The connection fields, shown for SMTP-based providers:
- Email Address — the account mail is sent from (also the SMTP username).
- Email Password — that account's password (or app password, if your provider issues them).
-
SMTP Encryption — blank,
ssl, ortls. -
Mail Sending Protocol —
smtp,mail, orsendmail; SMTP is the normal choice. -
SMTP Server Address — for example
smtp.domain.com. -
SMTP Port — commonly
465(ssl) or587(tls). -
E-Mail Charset — leave
utf-8unless your provider requires otherwise. - Newline and CRLF — line-ending characters; keep the defaults unless your provider's documentation says otherwise.
- SMTP Timeout — seconds to wait for the server; defaults to 5.
Connect Gmail with OAuth (Gmail API)
If you previously sent through Gmail with a password, switch to this method — Google no longer reliably accepts password sign-in from apps.
- Open Store Config → Email Settings.
- Set the provider dropdown to Gmail API.
- Click the Sign in with Google button. A Google window opens; choose the Gmail account you want to connect.
- Click Allow to authorize. The only permission requested is sending email on the account's behalf — PHP Point Of Sale cannot read your mailbox.
- Click Save, then use Send Test Email to confirm.
Once connected, the Google button is replaced by a Remove button; click it to disconnect the account. If sending ever stops working (for example after a Google security change or password reset), reconnect the same way.
What email powers
One working sender carries a lot of the product:
- Receipts emailed from the sales screen — subject line, body and PDF options are covered in customizing receipts.
- Customer statements and invoices, including payment notification emails — see invoices and billing and emailed reports and statements.
- Purchase order emails to suppliers — see purchase orders.
- Delivery and work order status notifications with editable templates — see deliveries and shipping and work orders.
- Appointment confirmation emails — see appointments.
- Automatically emailed closeout reports, configured per location with Auto E-Mail Reports Address, Auto E-Mail Reports Time and Day to email report for — see emailed reports and statements.
- Low stock alert emails, enabled per location with Receive stock alerts.
- Password reset emails for employees — see secure sign-in. If email is not configured, the reset link on the login screen cannot deliver.
Each location can also set a CC Email and BCC Email that are copied on the notifications that location sends — see locations and registers.
If messages stop arriving, re-run Send Test Email first. It is almost always the connection — an expired password, a revoked token — rather than the individual feature.
Set up SMS with Twilio
Text messaging runs through Twilio and is configured per location, so each store can text from its own number:
- Create an account at twilio.com and buy (or port) a phone number able to send SMS.
- From the Twilio console, copy the Account SID and Auth Token.
- In PHP Point Of Sale, go to Locations, click Edit on the location, and open the Integrations tab.
- Fill in Twilio SID, Twilio Token, and Twilio SMS From Number, then Save.
Notes and options:
- US numbers require A2P 10DLC registration. Twilio asks you to register the number for US A2P 10DLC compliance before it will deliver to US recipients. Complete the registration inside Twilio, or use a number of your own that is already registered.
- Every outgoing text automatically ends with "STOP to opt out", which keeps you compliant with carrier opt-out rules.
- Send SMS via WhatsApp — a checkbox available both store-wide in Store Config → Application Settings and per location on the location form. When enabled, messages are routed through Twilio's WhatsApp channel instead of SMS.
- Alternate gateway — if you use the Mobitel SMS service instead of Twilio, enter Mobile Tel Username, Mobile Tel Password, and Mobile Tel Alias in Store Config → Application Settings. When those credentials are set they take priority and all SMS goes through that gateway.
What SMS powers
- Text-message receipts — on the sales screen, an SMS Receipt toggle appears next to the customer; tick it before completing the sale and the receipt goes to the customer's phone number. A customer profile can be flagged Always SMS Receipt, and Store Config → Sales has an Automatically SMS receipt setting to text every sale by default.
- Bulk texts to customers — in the Customers module, check the box next to one or more customers and click Send SMS. A "Write your message here" window opens; type the text and Submit. Customers without a phone number on file are listed back to you as skipped. See marketing, messaging and intake.
- Delivery status texts to customers when a delivery changes status — see deliveries and shipping.
- Work order status texts to the customer, and notification texts to the assigned technician — see work orders.
Messages are one-way: PHP Point Of Sale sends texts but does not display replies. Watch your Twilio console for delivery errors and responses.
Message your employees (the Messages module)
The Messages module in the left menu is an internal message board between employees. Recipients see a notification the next time they use the app — no personal phone numbers or chat apps involved.
To send a message:
- Go to Messages in the left menu. The page opens on your Inbox.
- Click New Message in the top right.
- If you run more than one location, choose the Locations the message applies to, or tick All.
- Choose the Employees to receive it, or tick All. Click a name's X to remove it from the list.
- Type the Message and click Send. Sending cannot be undone, so proofread first. You land on the Sent Messages page afterwards.
Reading and managing messages:
- The bell icon in the top-right header shows a red badge with your unread count. Click it for a quick view of recent messages plus links to All Messages, Sent Messages, and New Message.
- The Inbox shows who each message is from, its content, and when it was sent.
- On Sent Messages, the trash can icon deletes a message — for you and for every recipient's inbox — so only delete messages that are no longer needed.
Permissions: seeing the module at all requires the Messages module permission; composing requires the Send Message action permission under Messages. An employee with the module but not the action can read messages without sending any. Grant both in permissions and templates.
Notifications for machines
People get emails and texts; systems get webhooks. If another application should hear about sales or inventory changes the moment they happen, the REST API and webhooks covers wiring that up under Store Config's API and Web Hooks sections.
Troubleshooting and common questions
The test email never arrives. Check spam first, then re-check the password, port and encryption against your provider's SMTP documentation. For Gmail, switch the provider to Gmail API and authorize with OAuth instead of a password.
Receipts and invoices suddenly stopped sending. The connection has usually expired — a changed email password, a revoked Gmail token. Open Store Config → Email Settings, reconnect, and use Send Test Email to confirm.
Gmail rejects my email password. Google blocks basic password sign-in for most accounts. Use the Gmail API provider and the Sign in with Google flow, which needs no password stored in PHP Point Of Sale.
My texts don't reach US customers. US carriers require the sending number to be registered for A2P 10DLC. Complete the registration in your Twilio console, or configure a from-number that is already registered.
Can each store text from a different number? Yes. Twilio credentials live on the location (Locations → Edit → Integrations), so every location can carry its own SID, token and from-number.
Why does every text end with "STOP to opt out"? PHP Point Of Sale appends it automatically to keep you compliant with carrier opt-out requirements. It cannot be removed.
Can employees reply to a Messages-module message? An employee with the Send Message permission can send you a new message back; without that permission they can only read. There is no threaded reply.
Does deleting a sent message remove it for the recipient too? Yes — deleting from Sent Messages removes the message from every recipient's inbox as well.
Comments
0 comments
Please sign in to leave a comment.