Help with mail function

I’m having problems concatenating two strings together to use as a message variable in a php mail function.

In my script I have several different mail function. Each one will use the same $message variable, but will have a different sentence added to the beginning.

If I use just the $message variable or the prefix to it ($requester_message) it works fine. But when I combine the two it doesn’t work.


/* ========================================================
===============  Conformation Email to Requester  ======================
===========================================================*/
   
    $requester_message = 'We have received your Request and will be in contact with you shortly.'.$message;
    $requester_message1 = wordwrap($requester_message, 70);

    mail($requester_email, $subject, $requester_message1, $headers);

I have also tried breaking it down to two lines


/* ========================================================
===============  Conformation Email to Requester  ======================
===========================================================*/
   
    $requester_message = 'We have received your Request and will be in contact with you shortly.';
    $requester_message = $requester_message . $message;
    $requester_message = wordwrap($requester_message, 70);

    mail($requester_email, $subject, $requester_message1, $headers);

Any ideas?

Where are you defining $message? And in your second example, you are using $requester_message1 but your wordwrap is being returned to $requestor_message.

Here is the entire file. I’m echoing the concatenated message and it looks right, but for some reason the mail function doesn’t send when I use it. If I substitute either of the original ($requester_message1 or $message) it works.


<?php
require_once 'clean_up.php';
?>

<!DOCTYPE html>
<html>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Form</title>

</head>
<body>


<div id="container">

<?php
$message = '';

//-- ====================================================================================-//
//-- ====================   General Fields on all forms    ==============================--//
//-- ====================================================================================-//

// check that all general fields were filled out
if(!empty($_POST['requester_name'])
    && !empty($_POST['requester_email'])
    && !empty($_POST['requester_depart'])
    && !empty($_POST['approval_name'])
    && !empty($_POST['approval_email'])
    && !empty($_POST['goal'])
    && !empty($_POST['general_notes'])
    && !empty($_POST['task_name'])
    )
{

    // handle optional approval names and emails

     $approval_name_2 = "";
     $approval_email_2 = "";
     $approval_name_3 = "";
     $approval_email_3 = "";

     if(!empty($_POST['approval_name_2'])
        && !empty($_POST['approval_email_2'])) {

        $approval_name_2 = mr_clean($_POST['approval_name_2']);
        $approval_email_2 = mr_clean($_POST['approval_email_2']);
     } // end if

     if(!empty($_POST['approval_name_3'])
        && !empty($_POST['approval_email_3'])) {

        $approval_name_3 = mr_clean($_POST['approval_name_3']);
        $approval_email_3 = mr_clean($_POST['approval_email_3']);
     } // end if


    // added the trim and strip tags methods to cover XSS and SQL injections
    $todays_date = date("Y.m.d");
    $task_name = mr_clean($_POST['task_name']). '_'.$todays_date;
    $requester_name = mr_clean($_POST['requester_name']);
    $requester_email = mr_clean($_POST['requester_email']);
    $requester_depart = mr_clean($_POST['requester_depart']);
    $approval_name = mr_clean($_POST['approval_name']);
    $approval_email = mr_clean($_POST['approval_email']);
    $goal = mr_clean($_POST['goal']);
    $general_notes = mr_clean($_POST['general_notes']);
    $audience_other = mr_clean($_POST['audience_other']);

    $projects = mr_clean($_POST['project']);
    $request_type = mr_clean($_POST['request_type']);

    $message .= 'Task Name: ' . $task_name ."\\r\
";
    $message .= 'Requester Name: '.$requester_name."\\r\
";
    $message .= 'Requester Email: '.$requester_email."\\r\
";
    $message .= 'Requester Department: '.$requester_depart."\\r\
";
    $message .= 'Approval Name: '.$approval_name."\\r\
";
    $message .= 'Approval Email: '.$approval_email."\\r\
";
    $message .= 'Goal: '.$goal."\\r\
";
    $message .= 'Additional Notes: '.$general_notes."\\r\
";

//-- ===================================================================-//
//-- ====================   Handle each request type    ===============--//
//-- ===================================================================-//

    switch ($request_type) {
    //-- ==============================================================-//
    //-- ===============   eventSupport    ===========================--//
    //-- ===============================================================-//
    case "eventSupport.php":

        if( !empty($_POST['event_name'])
            && !empty($_POST['recurring'])
            && !empty($_POST['event_desc'])
            && !empty($_POST['event_location'])
            && !empty($_POST['completion_date'])
            && !empty($_POST['event_date'])
            && !empty($_POST['attendees'])
            )
        {
            echo 'Made it into eventSupport.php if statement <br> ';
            $event_name = mr_clean($_POST['event_name']);
            $recurring = mr_clean($_POST['recurring']);
            $event_desc = mr_clean($_POST['event_desc']);
            $event_location = mr_clean($_POST['event_location']);
            $completion_date = mr_clean($_POST['completion_date']);
            $event_date = mr_clean($_POST['event_date']);
            $attendees = mr_clean($_POST['attendees']);
            $services_other = mr_clean($_POST['services_other']);

            // clean and save request specific variables
            $message .= 'Event Name: '.$event_name."\\r\
";
            $message .= 'Have we created material in the past?: '.$recurring."\\r\
";
            $message .= 'Event Description: '.$event_desc."\\r\
";
            $message .= 'Event Location: '.$event_location."\\r\
";
            $message .= 'Completion Date: '.$completion_date."\\r\
";
            $message .= 'Event Date: '.$event_date."\\r\
";
            $message .= 'Estimated Attendees: '.$attendees."\\r\
";


            // get audience check mark values
            $audience = $_POST['audience'];
            if(!empty($audience))
            {
                $N = count($audience);
                $message .= "\\r\
Audience(s) for this project: \\r\
";

                //echo("You selected $N audience(s):<br/> ");
                for($i=0; $i < $N; $i++)
                {

                     //echo($audience[$i] . "<br/>");
                     $message .= "  ". $audience[$i]."\\r\
";
                }

            }  // if(!empty($audience))

            if(!empty($audience_other))
            {
                $message .= "Other:  ". $audience_other ."\\r\
";
            }
            $message .= "\\r\
";
            // end of check mark values

            //echo '<h1>Services needed for project:</h1>';
            $event_services = $_POST['event_services'];

            if(!empty($event_services))
            {
                $N = count($event_services);
                $message .= "\\r\
Service(s) for this project: \\r\
";
                //echo("You selected $N services(s)<br/> ");
                for($i=0; $i < $N; $i++)
                {
                     //echo($event_services[$i] . "<br/>");
                     $message .= "  ".$event_services[$i]."\\r\
";
                }

                if(!empty($services_other))
                {
                    $message .= "Other Services:  ". $services_other ."\\r\
";
                }

                $message .= "\\r\
";
            }  // if(!empty($event_services))
                // end of check mark values


        }
        else{
            echo '<h1>please out request specific fields</h1>';
        }

        break;

    //-- ======================================================-//
    //-- ===============   collateral    ======================--//
    //-- =======================================================-//
    case "collateral.html":
        echo $request_type;
        break;

    //-- ======================================================-//
    //-- ===============   promo    ======================--//
    //-- =======================================================-//
    case "promo.html":
        echo $request_type;
        break;

    //-- ======================================================-//
    //-- ===============   sponsorships    ======================--//
    //-- =======================================================-//

    case "sponsorships.html":
        echo $request_type;
        break;

    //-- ======================================================-//
    //-- ===============   webRequest    ======================--//
    //-- =======================================================-//

    case "webRequest.html":
        echo $request_type;
        break;

    //-- ======================================================-//
    //-- ===============   recurringPubs    ======================--//
    //-- =======================================================-//

    case "recurringPubs.html":
        echo $request_type;
        break;

    //-- ======================================================-//
    //-- ===============   logos    ======================--//
    //-- =======================================================-//

    case "logo.html":
        echo $request_type;
        break;

    //-- ======================================================-//
    //-- ===============   stationary    ======================--//
    //-- =======================================================-//

    case "stationary.html":
        echo $request_type;
        break;

    //-- ======================================================-//
    //-- ===============   envelopes    ======================--//
    //-- =======================================================-//

    case "envelopes.html":
        echo "envelopes.html";
        break;

     //-- ======================================================-//
    //-- ===============   general    ======================--//
    //-- =======================================================-//

    case "general.html":
        echo "general.html";
        break;

    } // end switch


    // owner hard coded for now
    $owner = 'Aaron';

    // save email variables
    $to = $project;

    echo '<br />'.'To: '.$to."<br /><br />";

    $subject = $task_name.', '.$owner;
    echo 'Subject: '.$subject."<br /><br />";

    //echo 'Message: '.'<br />'.$message."<br /><br />";

    $headers = 'Content-Type: text/plain; charset=utf-8' ."\\r\
";
    $headers .= 'From: ' .$requester_email. "\\r\
";
    $headers .= 'X-Mailer: PHP/' . phpversion(). "\\r\
";
    $headers .= 'Reply-To: ' .$requester_email. "\\r\
";
    //$headers .= 'Cc:  haasa@franklin.edu \\r\
';


/* ========================================================
===============  Email to Requester  ======================
===========================================================*/

    $requester_message = 'We have received your Request and will be in contact with you shortly.'.$message;
    $requester_message1 = wordwrap($requester_message, 70);

    echo 'message: '.$requester_message1. '<br>';
    echo 'conformation: '.$requester_email. '<br>';
    echo 'Headers: '.$headers."<br />";
    echo 'Subject: '.$subject."<br /><br />";
    //echo 'requester_message: '.$requester_message. '<br>';

    mail($requester_email, $subject, $requester_message1, $headers);

/* ========================================================
===============  Email to Supervisor  ======================
===========================================================*/

    // $supervisor_message = $requester_name. " has made the following request: \\r\
";
    // $supervisor_message = $supervisor_message . $message;
    // $supervisor_message = wordwrap($supervisor_message, 70);

    // echo 'supervisor_email to: '.$approval_email. '<br>';
    // echo 'Headers: '.$headers."<br />";
    // echo 'Subject: '.$subject."<br /><br />";
    // //echo 'supervisor_message: '.$supervisor_message. '<br>';

    // $message = wordwrap($message, 70);

    // mail($approval_email, $subject, $supervisor_message, $headers);

/* ========================================================
===============  Email to Liquid Planner  ======================
===========================================================*/



    echo 'Headers: '.$headers."<br /><br />";

    // In case any of our lines are larger than 70 characters


    // send email to liquid planner
    mail($to, $subject, $message, $headers);




    echo "<h1>Success</h1>";
    echo "<h6>Your task was successfully added.</h6>";
    echo "<h6><a href='../index.html'>Back to form</a></h6>";

} // close if !empty($_POST['title'...
else{
  echo "<h1>Error:</h1>";
  echo "<p>PLease fill out all fields.<a href=\\"../index.html\\">click here to go back to your form Page.</a></p>";
}
?>
</div>
</body>
</html>