• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 188
  • Last Modified:

CAn't get this really simple script to work

I have this php code that im using.  The goal is to create an input box where people can send their email address.  

once the user clicks on the submit button, the email that was put into the input box would be sent to an email address of my choosing

<?PHP
 
if ( isset ( $_POST['submit'] ) )
{
 
        $user_email = $_POST['email'];
        
        $to = 'michael@djmichaelray.com'; // your email address here
        $subject = 'New sign up'; // change this as desired
        $message = 'A New user has signed up, email address: ' . $user_email; // change this as desired
        
        $headers  = 'MIME-Version: 1.0' . "\r\n";
        $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
        $headers .= 'From: no-reply@yourdomain.com' . "\r\n" . 'X-Mailer: PHP/' . phpversion();
                                
        mail ( $to, $subject, $message, $headers );
        
        $to = $user_email;
        $subject = 'no-reply@yourdomain.com'; // yourdomain here
        $message = 'Thank you for signing up to yourdomain.com'; // change this as desired
        
        mail ( $to, $subject, $message, $headers );
 
}
 
?>
 
<form action="<?PHP echo $_SERVER['PHP_SELF']; ?>" method="post">
        <input type="text" name="email" /><input type="submit" value="sign up" />
</form>

Open in new window

0
djmichaelray
Asked:
djmichaelray
1 Solution
 
Matthew KellyCommented:
If you do not have a email server running on the machine running PHP, mail will not work.

Is the problem with the email being sent?

If so, the best approach is to use a 3rd party mail program. In the past I have used PHPMailer

http://sourceforge.net/projects/phpmailer

Below is the PHP code to use it. Place class.phpmailer.php into your php includes directory.

Replace text in << >> with your server information: http://www.emailaddressmanager.com/tips/mail-settings.html
<?php
 
require("class.phpmailer.php");
 
$mail = new PHPMailer();
 
$mail->IsSMTP(); // send via SMTP
$mail->Host     = "<<smtpserver>>:<<stmpport>>"; // SMTP servers
$mail->SMTPAuth = true; // turn on SMTP authentication
$mail->Username = "<<uname>>"; // SMTP username
$mail->Password = "<<pword>>"; // SMTP password
$mail->From = "<<email address from>>";
$mail->FromName = "<<email name from>>";
$mail->AddAddress("<<email address to>>"); 
$mail->AddReplyTo("<<email address from>>","<<email name from>>");
$mail->WordWrap = 50; // set word wrap
$mail->IsHTML(true); // send as HTML
$mail->Subject  =  "Subject";
$mail->Body     =  "Body text";
$mail->AltBody  =  $mail->Body;
        
$mail->Send();
 
?>

Open in new window

0
 
Vel EousResearch & Development ManagerCommented:
My thought is it's either a server setup issue or being caught by a spam filter:

http://www.experts-exchange.com/Web_Development/Web_Languages-Standards/PHP/Q__23493275.html
0

Featured Post

Vote for the Most Valuable Expert

It’s time to recognize experts that go above and beyond with helpful solutions and engagement on site. Choose from the top experts in the Hall of Fame or on the right rail of your favorite topic page. Look for the blue “Nominate” button on their profile to vote.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now