FUDforum
Fast Uncompromising Discussions. FUDforum will get your users talking.

Home » Imported messages » comp.lang.php » Mail() function
Show: Today's Messages :: Polls :: Message Navigator
Return to the default flat view Create a new topic Submit Reply
Re: Mail() function [message #180610 is a reply to message #180605] Wed, 06 March 2013 18:14 Go to previous message
Thomas 'PointedEars'  is currently offline  Thomas 'PointedEars'
Messages: 701
Registered: October 2010
Karma:
Senior Member
Rita Ferreira wrote:

> I'm new at PHP and I'm facing problems with the mail() function.
> I'm trying to send an email from a form and to do it I'm using mail()
> function but gmail assume it like spam.
>
> I have read lots of similar problems in internet but I couldn't find a
> solution.
>
> <?php
>
> if (isset($_REQUEST['email']))
> {
> $nome = $_REQUEST['nome'] ;
> $telefone = $_REQUEST['telefone'] ;
> $email = $_REQUEST['email'] ;
> $message = $_REQUEST['mensagem'] ;

This is just wrong. Sanitize your input, and in this case accept data via
$_POST only, so that it is harder to use your script for spamming via URIs.

> $header .= "Reply-To:".$nome." <".$email.">\r\n";

The first string assignment to a variable should be

$header = …

because the variable is undefined before the assignment and

$header .= …

is equivalent to

$header = $header . …

> $header .= "Return-Path: ".$nome." <".$email.">\r\n";

Trace fields like that are to be set by the Message Transfer Agent (MTA),
not the Mail User Agent (MUA; here: mail()). Sending messages with
additional trace fields could reasonably be regarded an attempt at spamming,
because it could be construed as an attempt to conceal the true origin of
the message, and the path it took when transported through the network(s).

If you inspect your e-mails (Ctrl+U etc.), you will find that “Return-Path”
and “Received” header fields are never contained in the messages that you
sent, only in those you received. (“Received” header fields show the path
of the message in descending order; *they* are the best clue as to where the
spam originated, _not_ the “From” header field which can be easily forged.)

<http://tools.ietf.org/html/rfc5322#section-3.6.7> p.

You are sending a “Reply-To” field already, so there is no need for a bogus
“Return-Path” field.

I strongly suggest that you do not use the mail() function unless you know
what you are doing; use existing mail classes instead, like PHPMailer:

<https://code.google.com/a/apache-extras.org/p/phpmailer/>

In addition, you may have been sending e-mail from a suspicious or
blacklisted host. Check to see if the IP address of the Internet gateway of
your PHP host, or the IP address range it is in, is blacklisted. You SHOULD
NOT send e-mails with PHP from a computer in your home network; since its
Internet gateway will likely have been assigned a dynamic IP address by the
ISP, the message will most certainly be regarded spam because of that. Get
external PHP Web hosting instead and try again from there.


PointedEars
--
var bugRiddenCrashPronePieceOfJunk = (
navigator.userAgent.indexOf('MSIE 5') != -1
&& navigator.userAgent.indexOf('Mac') != -1
) // Plone, register_function.js:16
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Previous Topic: Dynamically change video URLs
Next Topic: Other source for help?
Goto Forum:
  

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ]

Current Time: Fri Nov 22 03:04:14 GMT 2024

Total time taken to generate the page: 0.04552 seconds