Email Notifications Settings
ProfilePress sends email notifications in three groups: account emails, order emails, and subscription emails. You manage them all in ProfilePress > Settings > Emails, where each group has its own tab.
| Tab | What it covers | Emails |
|---|---|---|
| Account | Registration, login, and password events | Account Welcome, Password Reset, New User Admin Notification, Login Notification |
| Order | Purchases of membership plans | New Order Receipt, Renewal Order Receipt, New Order Admin Notification |
| Subscription | Changes to a subscription and reminders | Cancelled, Expired, Payment Failed, Completed, Upcoming Renewal Reminder, Free Trial Ending Reminder, Upcoming Expiration Reminder, After Subscription Expired |
| Settings | Options shared by every email | Admin email addresses, sender, content type, template |
Each tab lists its emails with the recipient and a status icon. A green check means the email is enabled; a cross means it is disabled.
Configuring an email
Click an email’s title or its gear icon to open its settings screen. Every email has the same three fields.
- Enable Notification: tick Enable to send the email, or untick it to stop sending it. Save your changes.
- Subject Line: the email’s subject. Placeholders work here too, for example, New Order #{{order_id}}.
- Message Body: the email content. The editor depends on your email settings:
- HTML content with the default template gives you the WordPress visual editor.
- HTML content with a custom template gives you a code editor.
- Plain text content gives you a plain text box.
A few emails have extra options, covered in their sections below.
Placeholders. Under the message body, a table lists the placeholders that email supports, such as {{first_name}} or {{order_total}}. ProfilePress replaces each one with real data when it sends the email.
Custom fields. Account and order emails also accept {{field_key}}. Replace field_key with the key of any custom field you created in ProfilePress, or any user meta key.
Preview. Click Preview Email above the editor to open the email in a new tab, styled with your template. Placeholders are not filled in the preview.
Account emails
Account emails cover registration, login, and password resets. Find them in Settings > Emails > Account.
| Sent when | Recipient | Enabled by default | |
|---|---|---|---|
| Account Welcome Email | A user registers through a ProfilePress registration form | The new user | Yes |
| Password Reset Email | A user requests a password reset | The user | Yes |
| New User Admin Notification | A new user registers | Admin email address(es) | Yes |
| Login Notification Email | A user logs in from a new device (or on every login, if you choose) | The user | No |
Account Welcome Email
Welcomes a new user and can include their login details. It is sent after registration through a ProfilePress registration form.
Placeholders: {{username}}, {{userid}}, {{email}}, {{password}}, {{site_title}}, {{first_name}}, {{last_name}}, {{password_reset_link}}, {{login_link}} and {{field_key}}.
{{password_reset_link}} here is a one-time link the user can use to set a new password.
Password Reset Email
Contains the link a user clicks to choose a new password. ProfilePress sends it when a user submits a password reset form.
If you disable this email, users who request a reset see the error “Password reset email is disabled.” Keep it enabled unless you handle password resets another way.
Placeholders: {{username}}, {{email}}, {{site_title}} and {{password_reset_link}}.
New User Admin Notification
Tells site admins that someone has registered. It replaces the default WordPress “New User Registration” email.
It goes to the addresses in Settings > Emails > Settings > Admin Email Address(es).
Placeholders: {{username}}, {{email}}, {{first_name}}, {{last_name}}, {{site_title}} and {{field_key}}. The older {{user_email}} still works and gives the same result as {{email}}.
Login Notification Email
Alerts users when someone logs in to their account, so they can act quickly on a login they don’t recognise. It covers logins through ProfilePress login forms and the standard WordPress login page.
This email is disabled by default. To turn it on, open it, tick Enable and save.
Send For controls how often it is sent:
- Logins from a new device (default): only when the user logs in from a browser or device they haven’t used before. This keeps the email rare enough that users still read it.
- Every login: each time the user logs in.
The default message tells the user the date, time, device and IP address of the login. It also links to your password reset page in case the login was not them.
How ProfilePress spots a new device. On login, ProfilePress saves a cookie in the browser that identifies it. A login counts as coming from a known device if the browser has that cookie, or if the IP address and browser match a previous login. The second check avoids false alerts after someone clears their cookies.
A few logins never trigger the email in new-device mode:
- The first login ProfilePress records for a user, since there is no earlier device to compare against. This also means turning the email on doesn’t email every user at once.
- Automatic login right after registration. That user receives the Account Welcome Email instead.
| Placeholder | Replaced with |
|---|---|
| {{username}} | Username of the user |
| {{userid}} | User ID of the user |
| {{email}} | Email address of the user |
| {{display_name}} | Display name of the user |
| {{first_name}} | First name of the user |
| {{last_name}} | Last name of the user |
| {{site_title}} | Website title or name |
| {{login_date}} | Date of the login, in your site’s date format |
| {{login_time}} | Time of the login, in your site’s time format and timezone |
| {{device}} | Browser and operating system of the login, e.g. “Chrome on Windows” |
| {{ip_address}} | IP address the login came from |
| {{user_agent}} | Browser user agent the login came from |
| {{password_reset_link}} | URL of your password reset page |
| {{login_link}} | URL of your login page |
| {{field_key}} | Value of a custom field or user meta key |
The date and time use the formats in Settings > General of WordPress.
Login Activity in My Account
Users can review their recent logins in the Login Activity tab of the My Account page. It lists their last 10 logins with the date, device, and IP address. Logins from a new device are marked “new device”, and there is a link to change their password.
ProfilePress records this history for every user, whether or not the Login Notification Email is enabled. It is included when you export or erase a user’s personal data in Tools > Export Personal Data and Tools > Erase Personal Data.
To hide the tab, select Login Activity in Settings > General > My Account > Disable My Account Tabs.
Order emails
Order emails go out when a membership plan order is completed. Find them in Settings > Emails > Order. All three are enabled by default.
| Sent when | Recipient | |
|---|---|---|
| New Order Receipt | A customer completes a new order | The customer |
| Renewal Order Receipt | A subscription renewal payment completes | The customer |
| New Order Admin Notification | A customer completes a new order | Admin email address(es) |
New Order Receipt
An invoice-style receipt with the order number, date, billing details, plan, and total. It ends with a View order details button.
Disable for Free Orders: tick this option to skip the receipt when an order’s total is zero, such as a free plan or a 100% coupon.
Renewal Order Receipt
The same receipt, sent for each successful renewal payment. It opens with the amount and plan renewed.
New Order Admin Notification
Tells admins about each new order. The default subject is New Order #{{order_id}}. Renewal payments do not trigger this email.
Order placeholders
All three order emails support these placeholders.
| Placeholder | Replaced with |
|---|---|
| {{email}} | Customer’s email address |
| {{first_name}} | Customer’s first name |
| {{last_name}} | Customer’s last name |
| {{customer_id}} | Customer ID |
| {{billing_address}} | Customer’s billing address |
| {{billing_phone}} | Customer’s phone number |
| {{customer_tax_id}} | Customer’s tax ID |
| {{order_id}} | Order ID |
| {{order_url}} | URL to view the order |
| {{downloads_url}} | URL to view and download the order’s digital products |
| {{plan_name}} | Name of the plan ordered |
| {{order_coupon}} | Coupon code used |
| {{order_subtotal}} | Order price before tax |
| {{order_tax}} | Tax amount |
| {{order_total}} | Total amount paid |
| {{order_date}} | Order date |
| {{order_payment_method}} | Payment method used |
| {{purchase_note}} | Purchase note set on the plan |
| {{site_title}} | Website title or name |
| {{business_name}} | Business name from Settings > General > Business Info |
| {{business_address}} | Business address from Settings > General > Business Info |
| {{business_tax_id}} | Business tax ID from Settings > General > Business Info |
| {{password_reset_link}} | URL to reset password |
| {{login_link}} | URL to log in |
| {{field_key}} | Value of a custom field or user meta key |
Subscription emails
Subscription emails keep customers informed about their membership subscriptions. Find them in Settings > Emails > Subscription. All of them go to the customer and are enabled by default.
| Sent when | Reminder Days default | |
|---|---|---|
| Subscription Cancelled Notification | A subscription is canceled | — |
| Subscription Expired Notification | A subscription expires | — |
| Subscription Payment Failed Notification | A renewal payment fails or goes unpaid. | — |
| Subscription Completed Notification | A customer makes the final payment of a fixed-term subscription | — |
| Upcoming Renewal Reminder | An auto-renewing subscription is about to renew | 1 day before |
| Upcoming Expiration Reminder | A subscription that will not renew is about to expire | 1 day before |
| After Subscription Expired Notification | Some days have passed since a subscription expired | 2 days after |
| After Subscription Expired Notification | Some days have passed since a subscription expired | 2 days after |
Reminder emails
The last three emails are reminders. Each has a Reminder Days option that sets when it is sent.
- Upcoming Renewal Reminder: sent the set number of days before the next payment date. It covers active subscriptions that renew automatically. It also covers trialling subscriptions, but only while the Free Trial Ending Reminder is disabled.
- Free Trial Ending Reminder: sent the set number of days before a free trial ends. It tells customers how much they will be charged and links to their subscription so they can cancel first. It goes only to customers who will be charged automatically when the trial ends.
- Upcoming Expiration Reminder: sent the set number of days before the expiration date. It covers canceled subscriptions that remain active until the end of their term and subscriptions that do not renew automatically.
- After Subscription Expired Notification: sent the set number of days after a subscription expired. Use it to win customers back with {{renew_subscription_url}}. It is skipped if the customer has already subscribed to the same plan again.
ProfilePress checks for reminders once a day using WordPress cron. A reminder therefore arrives on the right day, but not at a fixed time.
Subscription placeholders
All subscription emails support these placeholders.
| Placeholder | Replaced with |
|---|---|
| {{email}} | Customer’s email address |
| {{first_name}} | Customer’s first name |
| {{last_name}} | Customer’s last name |
| {{subscription_id}} | Subscription ID |
| {{subscription_url}} | URL to view the subscription |
| {{renew_subscription_url}} | URL to subscribe to the plan again |
| {{plan_name}} | Name of the membership plan |
| {{amount}} | Recurring amount of the subscription |
| {{expiration_date}} | Expiration or renewal date of the subscription |
| {{site_title}} | Website title or name |
Global email settings
Options in Settings > Emails > Settings apply to every ProfilePress email.
| Setting | What it does |
|---|---|
| Admin Email Address(es) | Where admin emails go (New User Admin Notification, New Order Admin Notification). Separate multiple addresses with commas. |
| Sender Name | The “From” name on every email. Your website name is a good choice. |
| Sender Email Address | The “From” address on every email. Use an address on your own domain to help delivery. |
| Content Type | HTML (recommended) or Plain Text. |
| Email Template | Default Template, or Custom Email Template to code your own HTML layout. Shown only for HTML content. |
| Customize Default Template | Opens the WordPress Customizer to style the default template. Shown only for the default template. |
Your choice of content type and template also decides which editor you see for each email’s message body.
Troubleshooting
Most missing emails come from the email being disabled or from your server’s mail delivery. Work through these checks in order.
- Is the email enabled? Look for the green check next to it in the Email Settings tab. The Login Notification Email is off until you enable it.
- Is the email in spam? Check the recipient’s spam or junk folder.
- Does your site send email reliably? Many hosts block or limit PHP mail. Install an SMTP plugin and connect a mail service. Then send a test email from that plugin.
- Does the sender address match your domain? A Sender Email Address on another domain, such as a Gmail address, is often rejected or marked as spam.
- Are reminders not arriving? Reminder emails rely on WordPress cron, which only runs when someone visits your site. On low-traffic sites, set up a real server cron job to call wp-cron.php.
- Is a login notification missing? With Send For set to new devices, logins from a known device and a user’s first recorded login don’t send it. Choose Every login to test it.
- Are placeholders showing as plain text, like {{plan_name}}? Make sure the placeholder is listed for that email. Each email supports only its own set.