not receiving sent messages
Hello, I am running formmail 1.92 on this page:
There are 2 addresses the submitted e-mail should be going to. One address, #*$!firstname.lastname@example.org, is receiving the e-mails just fine. The other, #*$!email@example.com, is not. I have them both set up here:
@referers = ('example.com','xx.xx.xx.xx','example.com','aol.com','yahoo.com');
I really am at a loss as to why one would and the other would not receive the submitted e-mails. We have checked all the folders, junk spam, etc. nothing.
Any help would be appreciated!
[edited by: phranque at 1:03 am (utc) on Feb. 21, 2009]
[edit reason] exemplified urls & ip [/edit]
I couldn't see how to edit my previous post, but here is the form code.. sorry for the link:
<form action="http://example.com/cgi-bin/FormMail.pl" method="POST" id="Site Form">
<input type="hidden" name="recipient" value="#*$!firstname.lastname@example.org,#*$!email@example.com">
<input type="hidden" name="subject" value="E-mail Adress for Site">
<input type="hidden" name="sort" value="order:name,email">
<input type=hidden name="redirect" value="http://example.com/thanks.html">
<input id="name" name="name" class="text" type="text" />
<label for="email">Email Address:</label>
<input id="email" name="email" class="text" type="text" />
<input class="submit" type="submit"
[edited by: phranque at 1:02 am (utc) on Feb. 21, 2009]
[edit reason] exemplified urls [/edit]
Wecome aboard suede1976, you probably won't get a lot of help with a "canned" script as most here are programmers/coders and don't put a lot of attention to problems with open source code (e.g. formmail.pl). However, one suggestion, did you try eliminating the comma-separated field and entering only the AOL address?
If it goes through, yes, something's up with your script or configuration.
If it still fails, nothing wrong with the script, AOL is just not accepting it. There could be many reasons, a few could be you're on an IP block that's rejected by AOL, improper SPF records (but Yahoo should kick it on both of these conditions,) a pattern in the mail is being recognized as spam and deleted, improper mail headers (even an invalid date format could cause problems,) or it's just . . . AOL. It may even be possible they are disallowing mail sent by formmail and you can look at the X-Sender headers, if there's an X-Sender header generated by formmail maybe you can change it (speculation on my part.)
I'm sure there are more, but you get where it's going, figure out whether it's the script or the recipient.
[edited by: rocknbil at 5:19 pm (utc) on Feb. 21, 2009]
Did you try setting the form to only send to the AOL address? That might indicate whether AOL is blocking the message automagically, or if the problem lies elsewhere.
AOL is known to be pretty aggressive about blocking any EMails that their system considers to be SPAM, and such messages might not even be delivered to a SPAM folder. Email with multiple recipients might be enough to get a message flagged over there unless the sender is on a white list.
thank you for the responses. this may help narrow it down.
i decided to test it out some more... i put all 4 of my e-mail addresses on the script: yahoo, personal, gmail and hotmail... and still included aol for the client. i rec'd the test form at all 4 of mine and the client received nothing. i asked the client for a couple more e-mail addies to try for them. they gave me 2 personal domain specific addresses and an sbcglobal.net address. i sent out another test with her new addresses and mine on there. i received the form per usual and she got nothing to any of hers. could it be something with her ISP? her provider is blocking something on her end?
i am not only receiving the tests but my email addresses are receiving all the valid forms submitted by random visitors, while the client receives nothing.
Try changing the subject line:
E-mail Adress for Site
If she downloads emails with something like Outlook it could be that the subject line is being rejected and Outlook is simply sending a delete request back to the mail server.
thanks krugs. I am trying that now. I will let you know if it worked.
As you can see by the variety of replies to your question this is never an easy thing to debug. But since your script works it seems it has nothing to with with perl or the script. The problem will almost certainly be somewhere else along the chain of events that occurs between sending an email and the recipient recieving the email.
OK, now, this is weird.
she gave me a yahoo address and that one worked, but why wouldn't any of her others? all my others worked. my hotmail, gmail and my personal web site. but none of her personal addresses worked, meaning domain specific.
like, she has an e-mail: firstname.lastname@example.org which doesn't work
but email@example.com does...
but mine firstname.lastname@example.org does...
This really does not appear to be a perl or cgi issue. There is no way to know why it does not work, we can only guess and make suggestions and none of them may help.
Can you send her an email using your regular email to the same address and she gets it? If so, the server you are using to send the emails (where the script is) might be blocked by the other servers that don't accept the emails. There is nothing you can really do about that.
You can try looking through the mail logs on your sending server. When sending from a script, sometimes you will locate messages that do not get sent back directly to the mail sending email address. I.E., it may attempt to connect to a server and you may find in your logs "rejected by mail server: [reason]" and will not get a bounce back to the sending email address.
I've never gotten a straight answer on exactly why this is . . . but it has often led to causes and solutions.
The script uses my host's sendmail option. I really am clueless when it comes to any of this back of the house programming and such. I really appreciate you guys taking the time to help with this.
These are the log file names I have found:
which of these will tell me the sendmail errors? And what can i use to open them, i am on an intel mac. I used a text editor to open one and it came up garbled.
I am pretty obsessive when it comes to trouble shooting. I just want to figure it out, so that when i run into it again, i can fix it!
There might be nothing in any error log about a missed email. Servers can just blackhole emails without sending any explanation back to the server that sent the email. I am not familiar with any of the files you listed.
However, the absence of anything in the mail logs can also be a clue. You should always find something in the mail program's attempt to send a queued email, normally there is a response from the receiving server, if there's not, it at least tells you the recipient server is not responding. The hard part is figuring out why.
If you don't find anything at all in the mail log about an attempt to send these "missing" mails, it tells you, for whatever reason, your script isn't even sending it.
I don't recognize any of those either, check with your system admin what mail program is used by command line scripts and where your mail logs should be.
If I read your message correctly and you sent a test message to two separate Email addresses at the same domain and yours worked and hers didn't, it seems to be pretty conclusive that it's her EMail program that's filtering the message rather than a block by a mail server.