Solved

php mail spam

Posted on 2011-09-03
6
333 Views
Last Modified: 2012-05-12
Hello,

Does anything here stand out that would make this email rejected by spam?

$headers  = 'MIME-Version: 1.0' . "\r\n";
	$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
	$headers .= 'From: a Online Inquiry <noReply@a.com>' . "\r\n";
	$headers .= 'BCC: a <info@a.com>' . "\r\n";
	$headers .= 'Reply-to: '.$name.' <'.$email.'>' . "\r\n";
	$subject='a Online Inquiry';

	$body = "<strong>".$name." is contacting us about your ".$row['year']." ".$row['make']." ".$row['model']." for sale.</strong>
	<br /><hr><br />";
	if($phone){
	$body .= "<strong>Phone:</strong> ".$phone."<br />";
	}
	$body .= "<strong>Email:</strong> ".$email."<br />
	<strong>Message:</strong> ".$message."<br /><br />
	<strong>Vehicle:</strong> ".$row['year']." ".$row['make']." ".$row['model']."<br />
	<strong>Link To Ad:</strong> ".$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"]."<br />";

	$body = preg_replace("#(?<!\r)\n#si", "\r\n", $body);
	$headers = preg_replace('#(?<!\r)\n#si', "\r\n", $headers); 
	mail($to, $subject, $body, $headers);

Open in new window

0
Comment
Question by:movieprodw
6 Comments
 
LVL 83

Accepted Solution

by:
Dave Baldwin earned 100 total points
ID: 36478655
<noReply@a.com>  Are you really using 'noReply'?  Sending from a non-existent email address will get you bounced at a lot of email servers.  The 'reputation' of your mail server can affect it too.

Spam scoring and rejection is done at the receiving end.  Mail servers set up their spam criteria differently so it is hard to predict what is going to cause your email to be rejected unless someone tells you why.
0
 
LVL 2

Assisted Solution

by:jnfsmile
jnfsmile earned 100 total points
ID: 36478656
Maybe because it looks like an automated sales message.

Sender might do it - Do you own "a.com" or is that an example?

The problem might be with the mail sending server and not in the code. Try to check this out.
0
 
LVL 34

Assisted Solution

by:Beverley Portlock
Beverley Portlock earned 100 total points
ID: 36478679
Get hold of the rejected email. Most scanners attach an analysis like this

Content analysis details:   (7.6 points, 4.3 required)

 pts rule name              description
---- ---------------------- --------------------------------------------------
 0.6 NO_REAL_NAME           From: does not include a real name
 0.9 UNDISC_RECIPS          Valid-looking To "undisclosed-recipients"
 0.9 MSGID_FROM_MTA_ID      Message-Id for external message added locally
 0.5 DNS_FROM_RFC_ABUSE     RBL: Envelope sender in abuse.rfc-ignorant.org
 1.4 DNS_FROM_RFC_POST      RBL: Envelope sender in
                            postmaster.rfc-ignorant.org
 3.4 FORGED_MUA_OUTLOOK     Forged mail pretending to be from MS Outlook

Open in new window


Failing that, install spamassassin and run your email through it.
0
PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

 
LVL 109

Assisted Solution

by:Ray Paseur
Ray Paseur earned 100 total points
ID: 36479148
In addition to the other very good suggestions here, you might want to see if your hosting company is adding its own headers to your mail.  Many hosting companies do that, so they can catch spammers and throw them out of the system.  You can see if this is happening by sending an email to your own GMail test address and looking at the information in "Show original" so that you can see the headers.

You might also want to learn about the SPF and be sure it is implemented for your domain.
http://www.openspf.org/

And even better yet, learn about Constant Contact.  Unfailingly successful and embarrassingly inexpensive.
http://www.constantcontact.com

Best regards, ~Ray
0
 
LVL 13

Assisted Solution

by:LinuxGuru
LinuxGuru earned 100 total points
ID: 36480502
Also make sure to set proper rdns (Reverse dns) to the mail ip. You can ask your hosting provider to set the rdns for the mail ip.
0
 
LVL 1

Author Closing Comment

by:movieprodw
ID: 36536688
Thank you for the tips guys
0

Featured Post

Portable, direct connect server access

The ATEN CV211 connects a laptop directly to any server allowing you instant access to perform data maintenance and local operations, for quick troubleshooting, updating, service and repair.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Author Note: Since this E-E article was originally written, years ago, formal testing has come into common use in the world of PHP.  PHPUnit (http://en.wikipedia.org/wiki/PHPUnit) and similar technologies have enjoyed wide adoption, making it possib…
3 proven steps to speed up Magento powered sites. The article focus is on optimizing time to first byte (TTFB), full page caching and configuring server for optimal performance.
Learn how to match and substitute tagged data using PHP regular expressions. Demonstrated on Windows 7, but also applies to other operating systems. Demonstrated technique applies to PHP (all versions) and Firefox, but very similar techniques will w…
The viewer will learn how to dynamically set the form action using jQuery.

860 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question