Someone uploads a file to your website and you are supposed to get an email about it. The email never comes.
This is one of the most common things people write to us about, and it is nearly always one of four things. Work through the steps below in order and stop as soon as the emails start arriving. Most people are done by step 1.
If you have not set notifications up at all yet, start with Email Notifications with Iptanus File Upload instead — this article is for when they are set up and nothing arrives.
A two-minute test that tells you which half of the problem you have
Ask your own website to send you an email that has nothing to do with uploads.
- Log out of your website.
- Go to your login page and click Lost your password?
- Type in your own username or email and submit it.
- Wait two minutes. Check your inbox, then your spam folder.
Did the password email arrive?
Yes, it arrived
Your website can send email. The problem is in the notification settings.
Go to Part ANo, nothing came
Your website cannot send email at all, for anything. No notification setting will fix that.
Go to Part BPart A Your site sends email, but not upload notifications
Step 1: is the notification switched on?
Notifications are switched off when you install the plugin. That is the default, and it is the most common cause of all — it catches people who have been using WordPress for years.
To check:
- Open the page or post that has your upload form on it.
- Find the upload form block and click the small edit (pencil) icon next to it. That opens the plugin’s shortcode composer — the settings window for your upload form. You do not need to touch any code.
- Click the Notifications tab.
- Switch on Notify by Email.
- Fill in Email Recipients with at least one address. While Notify by Email is off this box is greyed out, so switch the notification on first.
- Save.
- Notify by Email is on
- There is at least one address in Email Recipients
Now upload a small test file and see whether the email arrives.
If you write your shortcode by hand rather than using the composer, you need both attributes, not just the recipients:
[wordpress_file_upload notify="true" notifyrecipients="you@example.com"]
This is where the switch is genuinely easy to miss: nothing greys out in a hand-written shortcode, so notifyrecipients on its own looks complete and is silently ignored.
Did that fix it? If yes, you are done. If no, continue.
Step 2: rule out the address itself
A wrong recipient address fails silently. The email is sent, it goes nowhere, and nothing anywhere reports an error — which makes it look exactly like a broken plugin. Typing gmai.com for gmail.com has come up more than once.
- Confirm the address is spelled correctly
- Check the spam and junk folders — email sent by a website is filtered far more aggressively than email sent by a person
Then run this test. It splits the problem in two:
- Put your own email address in Email Recipients, on its own.
- Upload a small test file.
- The email arrives — the plugin is working correctly. The problem is the other recipient’s address or their mail provider. Put the real address back and check it with them.
- The email does not arrive — continue to step 3.
Step 3: does it work for some people but not others?
Look at the pattern. This one has a very specific fingerprint:
Notifications arrive when you upload, or when a visitor who is not logged in uploads, but not when some other logged-in user does. Or: uploads themselves fail for visitors who are not logged in.
If either of those describes your situation, the cause is almost certainly another plugin getting in the way. Two kinds do this.
Caching plugins — WP Super Cache, W3 Total Cache, WP Rocket and similar. A caching plugin saves a copy of your page and shows that copy to visitors to make the site faster. The saved copy can contain an out-of-date security code, and the upload then fails halfway. The file may arrive, but nothing after that step runs, including the email.
Security plugins — Wordfence, iThemes Security and similar. These can block the background requests the upload form needs, especially for visitors who are not logged in.
- Exclude the page with your upload form from caching. Every caching plugin has a setting for this — look for “Never cache these pages” or similar
- Temporarily switch off your security plugin and upload a test file
If the emails start arriving once the security plugin is off, turn it back on and add an exception for your upload page. Do not leave it switched off.
Did that fix it? If yes, you are done. If no, continue.
Part B Your site cannot send email at all
If the password-reset test at the top produced nothing, your website has no working way to send email. Nothing in the upload plugin can fix this, because the plugin does not send the email itself — it hands it to WordPress, and WordPress hands it to your web server.
On a lot of hosting, that last step is either misconfigured or blocked outright. It is an extremely common problem and it affects every email your site sends: contact forms, order confirmations, password resets, all of it.
The fix is a free plugin, and it takes about ten minutes.
An SMTP plugin makes WordPress send email through a proper email account — yours — instead of through the web server. The messages are then properly identified as coming from you, which is what the big providers want to see.
- Install an SMTP plugin. WP Mail SMTP is the one most people use and it is free
- Connect it to a real mailbox: your own email account, one your host provides, or a service like Gmail or Microsoft 365. The plugin walks you through it
- Send its test email. Every SMTP plugin has a “send test email” button. Do not go further until that test passes
- Now upload a test file and check for the notification
This one change fixes most email problems on WordPress sites, and it fixes them for everything, not just uploads.
Two things people often want next
Send the email to the person who uploaded
Instead of a fixed address, you can send the notification to whoever just uploaded the file. In Email Recipients, put:
%useremail%
To send it to both them and yourself, separate with a comma:
admin@example.com, %useremail%
This only works for people who are logged in to your website. If your form is used by visitors who are not logged in, add an email field to the form itself and use that field’s variable instead.
Putting details in the email
These can go in Email Subject or Email Body:
| Type this | You get |
|---|---|
%filename% | the name of the uploaded file |
%filepath% | where the file was stored |
%username% | the name of the person who uploaded, if logged in |
%useremail% | their email address, if logged in |
%userid% | their WordPress user ID, if logged in |
%pagetitle% | the title of the page holding the form |
%pageid% | the ID of that page |
%blogid% | the site’s ID, on a multisite network |
%userdata1%, %userdata2%… | whatever the person typed into the extra form fields, numbered in the order the fields appear |
There is also an Email Headers box on the same tab. That one is for the rest of the message: whether it is plain text or HTML, a Bcc list, and the address and name the email appears to come from. It is not the subject — the subject has its own box.
Still not working?
Tell us, and include these five things. With them we can usually identify the cause without a back-and-forth.
- Does the password-reset test at the top of this page produce an email?
- Do you have an SMTP plugin installed, and did its test email pass?
- Which caching and security plugins are active on the site?
- Does it fail for everyone, or only for certain people?
- Your upload form’s settings — a screenshot of the Notifications tab is enough
Contact us with those five answers.

Ask a question
Answered by Iptanus, usually within a working day.