2016-10-18 1 views
2

Я использую PHPMailer со следующими параметрами:Требуется ли strip_tags для phpmailer?

$mail->ContentType = 'text/plain'; 
$mail->IsHTML(false); 
... 
$mail->Body = $_POST['comments']; 
$mail->Body = strip_tags($mail->Body); 

Я заметил strip_tags() обрезает текст, если он попадает один больше, чем/меньше, чем знак (то есть, если пользователь поставил в один из этих символов законно).

Учитывая, что у меня есть тип контента = 'text/plain' и ishtml = false, нужно ли вообще иметь strip_tags()?

ответ

2

Нет, это не обязательно. Если вы установили $mail->isHTML(false), и вы пишете HTML в электронном письме, оно отправляется как текстовое, поэтому оно не интерпретирует его как HTML.

Например, я только что сделал это:

$mail->ContentType = 'text/plain'; 
$mail->isHTML(false); 
$mail->Subject = 'Your password'; 
$mail->Body = '<p>Your password is 123</p> <a href="www.google.com"> Go to google </a>'; 

И почта выглядит следующим образом:

<p>Your password is 123</p> <a href="wwww.google.com"> Go to google</a> 
+2

Goos ответ. Вам не нужно устанавливать 'ContentType' - вызов' isHTML (false) 'делает это для вас. – Synchro

+0

Спасибо. Это то, о чем я думал. Просто хотел проверить. – user1480951

+0

@ user1480951 Пожалуйста, если вы не возражаете, отметьте этот вопрос как правильный. Спасибо. – Manuel