0

How can i make this script work?
It is meant to send an email to a person with a confirmation code, but it is not working. whats wrong with it?

<?php

 function send_mail($fromname,$frommail,$to,$subject,$body,$priority)
  {
    $fullmail = "\"$fromname\"<$frommail>";
    $headers  = "From: $fullmail\n";
    $headers .= "X-Sender: $fullmail\n";
    $headers .= "X-Mailer: PHP\n";
    $headers .= "X-Priority: $priority\n";
    $headers .= "Return-path: $fullmail\n";

    mail($to,$subject,$body,$headers);
  }

 function send_html_mail($fromname,$frommail,$to,$subject,$body,$priority)
  {
    $fullmail = "\"$fromname\"<$frommail>";
    $headers  = 'MIME-Version: 1.0' . "\n";
    $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\n";
    $headers .= "From: $fullmail\n";
    $headers .= "X-Sender: $fullmail\n";
    $headers .= "X-Mailer: PHP\n";
    $headers .= "X-Priority: $priority\n";
    $headers .= "Return-path: $fullmail\n";

    mail($to,$subject,$body,$headers);
  }

?>
4
Contributors
7
Replies
8
Views
10 Years
Discussion Span
Last Post by digital-ether
0

We can't debug unless we know what the problem is :) The format for the output should be headers, then a single blank line, and then the message.

0

You'll need to echo out some variables in your script to make sure you have the right information there and to make sure you are getting there at all.

0

Its clustered linux servers i think

Check first with your hosting company support and see if they have mail() set up properly. If they either you have a problem with your code or your mail may be blocked or added to spam.

You'll need to place some debugging into your code.

for starters:

if (!mail(....)) {
echo 'Mail is not working... ';
}

mail() will return Boolean true or false if working or not respectively.

Set your error reporting to max:

error_reporting(E_ALL);

ini_set('display_errors', 'true'); // not sure bout this one, I think thats the correct config option

Just try a simple mail() first.. don't use the abstraction function "send_mail".. just to test if its working.

Check if your hosting company's mail servers are not blacklisted.
Send emails to a few different addresses to make sure its not specific to an email address...

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.