У меня есть форма php, которую покупатели заполняют, чтобы отправить электронное письмо продавцу. Все работает нормально, за исключением того, что я тестирую его на своем локальном сервере MAMP.
Проблема: $ message1 (тело письма) происходит от $ _POST ['textarea']. Если есть URL "http://localhost", отправленный через текстовую область формы (помещенную в тело письма), то чертова электронная почта никогда не будет доставлена. http://www.anythingelse.com работает нормально .... Я довольно озадачен. есть какая-то функция безопасности, которая запрещает отправку локальных URL-адресов через форму?
Если в моем коде есть другие явные ошибки, любая помощь приветствуется.
С уважением,
Daniel
public function saleRequest($seller_email, $seller_username, $buyer_email, $buyer_username, $book_title, $subject1, $message1) {
define("NAME","xxxxxxx");
define("FROM",$buyer_email);
$subject = substr_replace($subject1, '', 30);
// -=-=-=-=- MAIL HEADERS
$mime_boundary = md5(time());
$headers = "From: ".NAME." <".FROM.">\n";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-Type: multipart/alternative; boundary=\"$mime_boundary\";\n\n";
// -=-=-=-=- TEXT EMAIL PART
$message = "--$mime_boundary\n";
$message .= "Content-Type: text/plain; charset=UTF-8\n";
$message .= "Content-Transfer-Encoding: 8bit\n\n";
$message .= wordwrap(stripslashes($message1), 30, PHP_EOL)."\n";
// -=-=-=-=- HTML EMAIL PART
$message .= "--$mime_boundary\n";
$message .= "Content-Type: text/html; charset=UTF-8\n";
$message .= "Content-Transfer-Encoding: 8bit\n\n";
$message1 = $message1."this is html";
$message .= nl2br(wordwrap(stripslashes($message1), 30, "<br>"))."<br>\n";
// -=-=-=-=- FINAL BOUNDARY
$message .= "--$mime_boundary--\n\n";
unset($mime_boundary);
return mail($seller_email,$subject,$message,$headers);
}