On Mon, October 9, 2006 8:55 pm, Dave M G wrote:
> If possible, can anyone help me with creating the PHP code that will
> make an email as legitimate as it can be? I know I can't totally
> prevent
> my email from being marked as spam (after all, if it were possible,
> all
> the spammers would do it). But as much as I can prevent anti-spam
> measures getting a false positive when testing my email, the better.

Get the problem users to send you valid email that gets through,
headers and all, and compare yours to theirs. :-)

> Here is the PHP code I currently use (trimmed for clarity):
>
> while ( $member = mysql_fetch_row($mysqlResult) )
> {
> $subscriber = $member[0];
> $email = $member[1];
> $subject = "Report for " . date('l jS F Y');
> $mailContent = "This is an email to " . $subscriber . " at " . $email
> . ".";
> $fromAddress = "[EMAIL PROTECTED]"
> mail($email, $subject, $mailContent, $fromAddress);

$fromAddress, by itself, is not a valid header line.  That right there
is going to choke many mail agents, before they even try to look at it
for spam content.

$headers = "From: $fromAddress\r\n";
$headers .= "Reply-to: $fromAddress\r\n";
$extra = "-f$fromAddress";
mail($email, $subject, $mailContent, $headers, $extra);

$extra requires PHP 5 (4.x?) and that your mail config "trusts" the
Apache user to forge emails.  It may not be possible in your setup.

> }
>
>
> And here is what the headers for an email from that code looks like:
>
> -Account-Key: account5

Hopefully this had an "X" in the front of it...???

> X-UIDL: UID497-1152485402
> X-Mozilla-Status: 0001
> X-Mozilla-Status2: 00000000
> Return-path: <[EMAIL PROTECTED]>

This is set by $extra.

If your server won't let you change it, then there is little you can
do other than re-configure sendmail, switch hosts, and/or turn off
safe_mode -- all of which are outside the purvue of PHP and this list.

(Well, okay, safe_mode on/off is within our realm.  Turn it off.)

> Envelope-to: [EMAIL PROTECTED]
> Delivery-date: Sun, 03 Sep 2006 14:22:42 -0700
> Received: from nobody by server.myhostingservice.com with local (Exim
> 4.52)
> id 1GJzQQ-0005pA-Mz
> for [EMAIL PROTECTED]; Sun, 03 Sep 2006 14:22:42 -0700
> To: [EMAIL PROTECTED]
> Subject: Report for Monday 4th September 2006
> From: [EMAIL PROTECTED]

I'm AMAZED PHP and/or your MTA got this From: like this, when you
didn't do it right above...

> Message-Id: <[EMAIL PROTECTED]>
> Date: Sun, 03 Sep 2006 14:22:42 -0700
>
> Which parts are key to change, and how?

You're actually very close to a valid email, mainly because you've
kept it so simple...

-- 
Some people have a "gift" link here.
Know what I want?
I want you to buy a CD from some starving artist.
http://cdbaby.com/browse/from/lynch
Yeah, I get a buck. So?

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to