簡體   English   中英

通過PHP通過電子郵件發送textarea HTML代碼以顯示為html

[英]Email textarea HTML code through PHP to display as html

目前,我有一個可以正常使用的電子郵件系統,我想實施我擁有的summernote。 但是,當我提交表單時,它似乎以文本形式的html代碼發送,因此它顯示所有<>並且沒有特殊格式。 所以我認為。 它是否正確發送到腳本,所以我將其回顯,並顯示了未格式化的代碼。

發送:

<?php require '../settings.php';
/* Check all form inputs using check_input function */
$name= check_input($_POST['name'], "Enter your name");
$email= check_input($_POST['email']);
$message= $_POST['message'];
$subject= check_input($_POST['subject']);
/* From who and Reply to Who. */
$headers = 'From: '.$name.'\r\n';
$headers .= 'Reply-To: '.$administrationemail.'\r\n';
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
/* Send the message using mail() function */
mail($email, $subject, $message, $headers);
/* Redirect visitor to the thank you page */
header('Location: /mail/');
exit();
}
?>

形成:

<form action="send.php" method="post">
<b>Your Name:</b><input class="form-control" type="text" name="name">
<b>Subject:</b> <input class="form-control" type="text" name="subject">
<b>Recipient E-mail:</b> <input class="form-control" type="text" name="email">
<b>Your Message:</b>
<textarea class="summernote" id="message" name="message"></textarea>
<input name="submit" type="submit" class="btn btn-theme" value="Send it!">
</form>

任何幫助解決此問題的方法都將非常有用。 提前致謝。

我想在電子郵件中顯示的內容:

你好約翰·史密斯,

我已經收到您的帳單,很快就會付款。

來自你的朋友:史密斯·約翰爵士。

我得到的顯示:

<p><span style="font-weight: bold;">Hello John Smith,</span></p>
<p>I have recieved your invoice and will pay shortly.</p>
<p><span style="font-weight: bold;">From Your Friend:</span></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-style: italic;">Sir Smith John.</span><span style="font-weight: bold;"><br></span></p>

功能:

function check_input($data, $problem='')
{
$data = trim($data);
$data = stripslashes($data);
$data = preg_replace($wordlist, '****', $data);
if ($problem && strlen($data) == 0)
{
    show_error($problem);
}
return $data;
}

如果需要靈活性,請使用PHPMailer。 它是那么好。 查看他們的網站:

http://phpmailer.worxware.com/

您可能需要調整標題,出於參數的考慮,我們將僅使用PHP文檔中的相同方法。

$headers  = 'From: ' . $name . "\r\n";
$headers .= 'Reply-To: ' . $administrationemail . "\r\n";
$headers .= 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

\\ r \\ n必須在雙引號內,因為單引號用於文字字符串。

您的腳本按預期工作,如果您想以特殊格式發送電子郵件文本,則必須用轉義字符(例如, <br />/n )替換HTML標簽。 您可以使用str_replace做到這一點:

$htmlTags = array('<br />', '<br/>');
$escapeCharacter = '/n';
$final_message = str_replace($htmlTags, $escapeCharacter, $message);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM