I am trying to send 2 strings to mail with attachment using php. Everything is working fine except I get 2 strings without space between them. I want 2nd string on new line. How to achieve this. Any help will be appreciated. Thank you.
My code:
//Capture POST data from HTML form and Sanitize them,
$sender_name = filter_var($_POST["sender_name"], FILTER_SANITIZE_STRING); //sender name
$reply_to_email = filter_var($_POST["sender_email"], FILTER_SANITIZE_STRING); //sender email used in "reply-to" header
$fname = filter_var($_POST["fname"], FILTER_SANITIZE_STRING);
$lname = filter_var($_POST["lname"], FILTER_SANITIZE_STRING);
//plain text
$body = "--$boundary
";
$body .= "Content-Type: text/plain; charset=ISO-8859-1
";
$body .= "Content-Transfer-Encoding: base64
";
$body .= chunk_split(base64_encode($fname));
$body .= chunk_split(base64_encode($lname));
I want line break between fname and lname. Thank you.
IF you are looking this output from a browser, you must use <br>
Try this,
$fname="shashank";
$lname="shah";
$body = "--$boundary
";
$body .= "Content-Type: text/plain; charset=ISO-8859-1
";
$body .= "Content-Transfer-Encoding: base64
";
$body .= chunk_split(base64_encode($fname));
$body .= "<br>";
$body .= chunk_split(base64_encode($lname));
echo $body;
Another way would be
$body .= nl2br(chunk_split(base64_encode($fname))."
".chunk_split(base64_encode($lname)));
Or you can try using PHP_EOL
e.g. $body .= chunk_split(base64_encode($fname)).PHP_EOL;
After a lot of searching, I found that just appending a keyboard return inside a string after each var worked. Not the most elegant solution, but did the trick.
$fname = filter_var($_POST["fname"], FILTER_SANITIZE_STRING) .'
';
$lname = filter_var($_POST["lname"], FILTER_SANITIZE_STRING);