CookieDog
12-07-2004, 04:50 PM
I am using Matt's Formmail Script, and have had it running successfully for a while, but all of a sudden it stopped emailing to certain email addresses, but other email addresses receive it just fine. The script is working, and writing to a text file, sending an attached file via MIME::Lite, and redirecting successfully to my "thank you" page. For those emails getting the form, the attachment is there, and working correctly.
It seems that the email addresses NOT working, are corporate ones, including any from the same domain where the script & html form reside, and another company. The ones working are yahoo, msn.com, comcast.net email addresses.
I thought maybe it was a spam filtering issue, but we still get those emails in a spam inbox, and nothing is coming through at all.
I also heard that if your company, or even your web host company, is put on the Black Hole List for spamming, that this may affect it, but my web host said they don't think that is the problem.
The web host recently did some major overhauls on the server, but they can't seem to tell me if there is some kind of additional security or restrictions in place that would be blocking these emails from their end. All signs point to the web host blocking certain emails for some reason because the script otherwise seems to work. All they could tell me was to doublecheck my email addresses (duh - first thing I did), and re-type them and re-upload the script again, which I did, but it didn't help.
Here is the part of the perl script where my email addresses are. I'm using numbers in my html form that are used to assign the actual email addresses when the form gets parsed. I've confirmed that all the email addresses are correct, and working, but I've changed them here, so these are not real email addresses.
@referers = ('domain.com');
@recipients = (&fill_recipients('domain.com'),'^someone\@comcast\.net','^anyone_else\@yahoo\.com','^info\@other_comp any\.com');
$sendTo1 = "jdoe\@domain\.com,jjohnson\@domain\.com,anyone_else\@yahoo\.com";
$sendTo2 = "jdoe\@domain\.com,someone\@comcast\.net,info\@other_company\.com";
###Lot's of code missing in between here, just giving what I think ##
###are the relevant bits pertaining to the email addresses ##
# Within the 'sub parse_form' function
# "If" statement to check for the 'recipient' field
# and assign email addresses based on number values.
if ($name eq 'recipient') {
if ($value eq '1') {
$value = $sendTo1;
}
if ($value eq '2') {
$value = $sendTo2;
}
}
The form is successfully emailed and received at these addresses:
someone@comcast.net
anyone_else@yahoo.com
These email addresses receive nothing (the cgi script and html form are both on the domain.com server):
jdoe@domain.com
jjohnson@domain.com
info@other_company.com
Let me know if you think any other parts of the code could be helpful, and I'll post them. Thanks for any help - this is really been a huge problem.
P.S. I do have the '@' and '.' symbols escaped with '\' in the code, but it disappears when I post it here.
It seems that the email addresses NOT working, are corporate ones, including any from the same domain where the script & html form reside, and another company. The ones working are yahoo, msn.com, comcast.net email addresses.
I thought maybe it was a spam filtering issue, but we still get those emails in a spam inbox, and nothing is coming through at all.
I also heard that if your company, or even your web host company, is put on the Black Hole List for spamming, that this may affect it, but my web host said they don't think that is the problem.
The web host recently did some major overhauls on the server, but they can't seem to tell me if there is some kind of additional security or restrictions in place that would be blocking these emails from their end. All signs point to the web host blocking certain emails for some reason because the script otherwise seems to work. All they could tell me was to doublecheck my email addresses (duh - first thing I did), and re-type them and re-upload the script again, which I did, but it didn't help.
Here is the part of the perl script where my email addresses are. I'm using numbers in my html form that are used to assign the actual email addresses when the form gets parsed. I've confirmed that all the email addresses are correct, and working, but I've changed them here, so these are not real email addresses.
@referers = ('domain.com');
@recipients = (&fill_recipients('domain.com'),'^someone\@comcast\.net','^anyone_else\@yahoo\.com','^info\@other_comp any\.com');
$sendTo1 = "jdoe\@domain\.com,jjohnson\@domain\.com,anyone_else\@yahoo\.com";
$sendTo2 = "jdoe\@domain\.com,someone\@comcast\.net,info\@other_company\.com";
###Lot's of code missing in between here, just giving what I think ##
###are the relevant bits pertaining to the email addresses ##
# Within the 'sub parse_form' function
# "If" statement to check for the 'recipient' field
# and assign email addresses based on number values.
if ($name eq 'recipient') {
if ($value eq '1') {
$value = $sendTo1;
}
if ($value eq '2') {
$value = $sendTo2;
}
}
The form is successfully emailed and received at these addresses:
someone@comcast.net
anyone_else@yahoo.com
These email addresses receive nothing (the cgi script and html form are both on the domain.com server):
jdoe@domain.com
jjohnson@domain.com
info@other_company.com
Let me know if you think any other parts of the code could be helpful, and I'll post them. Thanks for any help - this is really been a huge problem.
P.S. I do have the '@' and '.' symbols escaped with '\' in the code, but it disappears when I post it here.