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 = "info@xxxxxxxxxx" > 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: <nobody@xxxxxxxxxxxxxxxxxxxxxxxxxxx> 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: info@xxxxxxxxxx > 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 info@xxxxxxxxxx; Sun, 03 Sep 2006 14:22:42 -0700 > To: member@xxxxxxxxxxxxxx > Subject: Report for Monday 4th September 2006 > From: info@xxxxxxxxxx I'm AMAZED PHP and/or your MTA got this From: like this, when you didn't do it right above... > Message-Id: <E1GJzQQ-0005pA-Mz@xxxxxxxxxxxxxxxxxxxxxxxxxxx> > 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