Solved

CAn't get this really simple script to work

Posted on 2008-06-17
2
176 Views
Last Modified: 2013-12-12
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
Comment
Question by:djmichaelray
2 Comments
 
LVL 18

Accepted Solution

by:
Matthew Kelly earned 500 total points
ID: 21809245
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
 
LVL 14

Expert Comment

by:Vel Eous
ID: 21809273
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

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

Suggested Solutions

Part of the Global Positioning System A geocode (https://developers.google.com/maps/documentation/geocoding/) is the major subset of a GPS coordinate (http://en.wikipedia.org/wiki/Global_Positioning_System), the other parts being the altitude and t…
Since upgrading to Office 2013 or higher installing the Smart Indenter addin will fail. This article will explain how to install it so it will work regardless of the Office version installed.
Show developers how to use a criteria form to limit the data that appears on an Access report. It is a common requirement that users can specify the criteria for a report at runtime. The easiest way to accomplish this is using a criteria form that a…
The viewer will learn how to count occurrences of each item in an array.

856 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