• I set up a wordpress site for a company. They requested a page that their employees could log into and note their hours for the day, that form then sends an email to a certain person who logs the hours (I know email isn’t the most efficient way to handle this but that’s how they wanted it.)

    About 2 months ago, after working flawlessy for about a year the person who gets the emails stopped receiving some of them. She said that it seems to be the same 3 or 4 people who have to submit the form twice in order for her to receive it. At first I thought that it may be the domain being marked for spam since the email is being sent from an address using their domain.

    I spoke to google support (they have gsuite as their email provider) and asked them about it while explaining the situation. The first time I called the guy came to the same conclusion as me and said he made some changes on his end that should help. After this it seemed to work again for about a month, then all of a sudden it started happening again. I called google back and the guy suggested that we change the receiving address to the google test alias instead of the actual address. After doing this it seemed to work again for about a 2 weeks before she stopped receiving again.

    Honestly I’m at a loss regarding where to look with this. The form itself is just a basic html form, once the submit button is clicked it hands the info to “send_form_email.php” which is a php script that formats the email and sends it to the specific email address. Does anyone have any clue what might be happening here? The last guy I talked to at google told me that it cant be on their end, which personally I find hard to believe seeing as how both times I or they made changes on google’s side of things it resolved the problem for a short time.

    Any advice would be greatly appreciated.

Viewing 2 replies - 1 through 2 (of 2 total)
  • Moderator bcworkz

    (@bcworkz)

    I have a theory about this, this behavior is not unheard of. I’ve very little to validate my theory, consider it pure speculation.

    Some mail servers get blacklisted due to high amounts of spam coming from them. Especially those of hosts that are not aggressive in shutting down spammers. To be fair, spam often comes from hacked sites, the owners are simply unaware. The spam sites are not necessarily “dirty” sites. That much is fact, here’s my theory. Your client’s host’s mail server could on occasion be temporarily blacklisted due to high spam traffic on the same shared mail server. Blacklisted servers AFAIK are simply ignored. There’s no indication that messages are not getting through.

    After the spam volume decreases, the ban is eventually lifted and mail can get out again. This is semi-automated, which explains why Google can “make some changes” to fix the problem, but it does not persist. I had a client with a similar problem, the host claimed they could not see why mail was not getting out. Fortunately, they were willing to move the account to another server at my request. AFAIK, there has not been any more problems. This may or may not be related to your issue, it’s merely anecdotal.

    Changing servers is not any guarantee of being free of trouble. The real solution is to not use unreliable email for important data. It would be better for time data to be logged into a DB table and the payroll clerk could retrieve the data directly from the DB. Take email transmission out of the process. There may be a plugin that will handle this. Of course a bespoke solution could be developed.

    I realize that email is your client’s preference. It’s your job as their tech consultant to show them why it’s a bad idea and how direct access to the DB would be better and more reliable. A good UI would also be more efficient than sifting through emails. Depending on their payroll system, in theory, a report could be generated that’s compatible for direct import into payroll. No need for tedious manual transposition of time data. Probably far fetched, but it’s worth looking into.

    Dion

    (@diondesigns)

    You can check blacklist info about your domain at mxtoolbox.com.

    By default, WordPress sends emails through PHP, and it creates a fake From: address ([email protected]). While that was fine back in the WP2.x era, today it will usually result in emails being flagged as spam. These days, sending email reliably through PHP requires custom settings in the mail server as well as in the PHP application.

    I’d suggest using a plugin that lets you send email using SMTP.

Viewing 2 replies - 1 through 2 (of 2 total)
  • The topic ‘Email form randomly not being received’ is closed to new replies.