Hi @chuckbo,
email delivery on the internet is tricky, and constantly evolving in attempts to reduce spam. This can result in breakage even if you don’t change anything in Sparkle.
One spam prevention technique that has been adopted progressively over the past years is SPF. SPF, Sender Policy Framework, is a way of indicating which servers are allowed to send email for a domain.
The way this works is a domain has a “TXT” record where with a somewhat arcane syntax the servers are indicated. Your from email address is example.com
, and this is a query of the SPF record for it:
% dig txt example.com
[...]
;; ANSWER SECTION:
example.com. 86400 IN TXT "v=spf1 -all"
example.com. 86400 IN TXT "wgyf8z8cgvm2qmxpnbnldrcltvk4xqfn"
[...]
The relevant section is "v=spf1 -all"
, where no servers are listed. A more interesting example is sparkleapp.com
’s record: "v=spf1 include:spf.mailjet.com include:spf.messagingengine.com include:amazonses.com ~all"
, which includes mallet (our newsletter provider), amazonses (for transactional email) and messagingengine (the servers for Fastmail, our email provider). It doesn’t include our web server because we use custom SMTP straight to fast mail.
Note that in most cases the noreply
part of the email address isn’t checked by anybody (though some outgoing servers do check that it’s a valid mailbox).
The SPF record is used on the receiving end, so in your case the mail server for clhwares.com
:
% dig mx clhwares.com
[...]
;; ANSWER SECTION:
clhwares.com. 3600 IN MX 10 mx1.arandomserver.com.
clhwares.com. 3600 IN MX 30 mx3.arandomserver.com.
clhwares.com. 3600 IN MX 20 mx2.arandomserver.com.
The only first hand information I have is from a few years ago when the ratio of spam to ham was about 10:1, so mail servers (or spam filtering dedicated appliances such as Ironports or Barracudas) can’t afford to store all the spam for review, they’ll simply delete what is deemed to be clearly spam. That’s why you don’t find it in your spam folder.
So to summarize all this, the likely reason your contact form email has stopped coming through is arandomserver.com
have implemented SPF checking, and example.com
has no email servers listed, so no email from example.com
should be sent by anybody, and arandomserver.com
is deleting it.
The unfortunate gotcha in this is noreply@example.com
was and still is the default in Sparkle, and we’ll be changing this.
The solution is generally to use an address of the domain where the website resides, because most of the time there’s no SPF record set. But if there is an SPF record, it needs to be amended to include the web server’s address.
If this contact form is hosted on clhwares.com
, it does have an SPF record, and it includes the web server itself.
The web server address is 198.252.104.144
:
% host clhwares.com
clhwares.com has address 198.252.104.144
And the SPF record includes it:
% dig txt clhwares.com
[...]
;; ANSWER SECTION:
clhwares.com. 14400 IN TXT "v=spf1 +a +mx +ip4:198.252.105.21 include:_spf.arandomserver.com +ip4:198.252.104.144 +ip4:72.29.127.15 ~all"
clhwares.com. 14400 IN TXT "MS=ms65142870"
[...]
So you should be able to use noreply@clhwares.com
as the from address safely.
Similarly for fortbendchessclub.com
.