www.webdeveloper.com
Results 1 to 4 of 4

Thread: mail() is not sending email out

Hybrid View

  1. #1
    Join Date
    Jun 2009
    Posts
    96

    mail() is not sending email out

    I have following html and php file. When I submit form from html file, I get message from php file without any error, but mail is not received in my mail inbox.
    I am using wamp server on windows server 2003 enterprise edition, which is on vmware.

    I have wamp server on windows 7 Home Premium. When I use these two files on this wamp , I just see that browser is trying to send request. Request does not get sent and I don't receive any error message.

    I have tried using SMTP_PORT = 25 and SMTP_PORT = 587 , both. It does not work in either case.

    phptest2.html
    PHP Code:
    <html>
        <
    head>
        </
    head>

        <
    body>
            <
    h2>Alien Abduction Form</h2>
            <
    form action="phpTest2.php" method="POST">
                
    When It Happened :<input type="text" name="whenithappened" /><br />
                
    How  Long :<input type="text" name="howlong" /><br />
                <
    input type="submit" value="submit" /><br />
            </
    form>
        </
    body>
    </
    html
    phptest2.php
    PHP Code:
    <html>
        <head>
        </head>

        <body>
            <?php
                $when_it_happened 
    $_POST['whenithappened'];
                
                
    $how_long $_POST['howlong'];
                
    $to 'manishrathi@yahoo.com';
                
    $From 'indian.mahajan@bell.net';
                
    $Headers "From: $From \r\n";
                
    $subject 'PHP Test';
                
    $msg $when_it_happened.$how_long ;
                
    mail($to"-f$From"$subject$msg$Headers);
                echo 
    "your message is received";
            
    ?>
        </body>
    </html>
    php.ini settings for mail()
    [mail function]
    ; For Win32 only.
    ; http://php.net/smtp
    SMTP = smtphm.sympatico.ca
    ;SMTP = localhost
    ; http://php.net/smtp-port
    smtp_port = 25
    ; smtp_port = 587

    ; For Win32 only.
    ; http://php.net/sendmail-from
    sendmail_from = indian.mahajan@bell.net

    ; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
    ; http://php.net/sendmail-path
    ;sendmail_path =

    sendmail_path = "C:\wamp\sendmail\sendmail.exe -t -i"
    How can I check whats wrong and where ?

    I have another file, which invokes following php file. This php file is working fine except mail(). When I click on submit in HTML file, I just see that browser is trying to connect with SMTP server, but nothing is happening. How can I make sure, if SMTP server is running or not
    <html>
    <head>
    </head>

    <body>
    <?php
    $fname = $_POST['firstname'];
    $lname = $_POST['lastname'];

    echo "Your first name is ".$fname."<br />";
    echo "Your last name is ".$lname."<br />";

    echo "Thanks for Reporting Abduction <br /><br />" ;

    $connect = mysqli_connect('localhost', 'root', '', 'phptest') or die ("Error connecting to database");

    $query1 = "insert into gwar (firstname, lastname) values ('$fname', '$lname')";

    $result = mysqli_query($connect, $query1) or die ("Error connecting to database");

    $query2 = "select * from gwar";

    $result2 = mysqli_query($connect, $query2);


    while($row = mysqli_fetch_array($result2)){
    echo $row['firstname']." ".$row['lastname'].'<br />';
    }
    mysqli_close($connect);

    $to = "jigneshjsoni@gmail.com";
    $sub = "New Abduction Report Received";
    $msg = "New Abduction has been Reported by ".$fname." ".$lname;

    mail($to, $sub, $msg);

    ?>
    </body>
    </html>
    Thanks
    Last edited by manishrathi; 10-19-2012 at 06:07 PM.

  2. #2
    Join Date
    Mar 2009
    Posts
    452
    mani! turn error reporting on and check if your mail() returns some error ? maybe the SMTP server you are trying with requires authentication.

  3. #3
    Join Date
    Jun 2009
    Posts
    96
    I have tried "error_reporting(-1);" in the code as first line after <?php and last line befor ?> " as follows
    <html>
    <head>
    </head>

    <body>
    <?php
    $when_it_happened = $_POST['whenithappened'];

    $how_long = $_POST['howlong'];
    $to = 'manishrathi@yahoo.com';
    $From = 'indian.mahajan@bell.net';
    $Headers = "From: $From \r\n";
    $subject = 'PHP Test';
    $msg = $when_it_happened.$how_long ;
    mail($to, "-f$From", $subject, $msg, $Headers);
    echo "your message is received";

    error_reporting(-1);

    ?>
    </body>
    </html>
    But still I am getting same result. Browser is trying to connect to SMTP server. No error is reported on screen. Do errors get sent to any other file ?
    I checked php_error.log and apache_error.log, but no entry is in there

    What shall I do next ? Can you please suggest few steps, so that I can try them one by one

    Thanks
    Last edited by manishrathi; 10-20-2012 at 12:36 PM.

  4. #4
    Join Date
    Mar 2009
    Posts
    452
    what does error_reporting(-1); do ?

    place it as very first statement of your script.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
HTML5 Development Center



Recent Articles