Я пытаюсь отправить 2 строки на почту с вложением, используя php. Все работает нормально, за исключением того, что я получаю 2 строки без пробела между ними. Я хочу 2-ю строку в новой строке. Как этого добиться. Любая помощь будет оценена. Спасибо.
Мой код:
//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\r\n";
$body .= "Content-Type: text/plain; charset=ISO-8859-1\r\n";
$body .= "Content-Transfer-Encoding: base64\r\n\r\n";
$body .= chunk_split(base64_encode($fname));
$body .= chunk_split(base64_encode($lname));
Я хочу разрыв строки между fname и lname. Спасибо.
Если вы просматриваете этот вывод из браузера, вы должны использовать <br>
Попробуй это,
$fname="shashank";
$lname="shah";
$body = "--$boundary\r\n";
$body .= "Content-Type: text/plain; charset=ISO-8859-1\r\n";
$body .= "Content-Transfer-Encoding: base64\r\n\r\n";
$body .= chunk_split(base64_encode($fname));
$body .= "<br>";
$body .= chunk_split(base64_encode($lname));
echo $body;
Другой способ будет
$body .= nl2br(chunk_split(base64_encode($fname))."\n".chunk_split(base64_encode($lname)));
Или вы можете попробовать использовать PHP_EOL
например $body .= chunk_split(base64_encode($fname)).PHP_EOL;
После долгих поисков я обнаружил, что просто добавление возврата клавиатуры внутри строки после каждой переменной работает. Не самое элегантное решение, но сделало свое дело.
$fname = filter_var($_POST["fname"], FILTER_SANITIZE_STRING) .'
';
$lname = filter_var($_POST["lname"], FILTER_SANITIZE_STRING);