Назначение md5 в данных формы многоэлементной / смешанной электронной почты
Я хотел бы знать назначение контрольной суммы md5("sanwebe")
в следующем фрагменте PHP, который я нашел здесь и здесь.
Что делает параметр "sanwebe"?
if($file_attached) //continue if we have the file
{
$boundary = md5("sanwebe");
//header
$headers = "MIME-Version: 1.0rn";
$headers .= "From:".$from_email."rn";
$headers .= "Reply-To: ".$email."" . "rn";
$headers .= "Content-Type: multipart/mixed; boundary = $boundaryrnrn";
//plain text
$body = "--$boundaryrn";
$body .= "Content-Type: text/plain; charset=ISO-8859-1rn";
$body .= "Content-Transfer-Encoding: base64rnrn";
$body .= chunk_split(base64_encode($message_body));
//attachment
$body .= "--$boundaryrn";
$body .="Content-Type: $file_type; name="$file_name"rn";
$body .="Content-Disposition: attachment; filename="$file_name"rn";
$body .="Content-Transfer-Encoding: base64rn";
$body .="X-Attachment-Id: ".rand(1000,99999)."rnrn";
$body .= $encoded_content;
}else{
//proceed with PHP email.
$headers = "From:".$from_email."rn".
'Reply-To: '.$email.'' . "n" .
'X-Mailer: PHP/' . phpversion();
$body = $message_body;
}
2 ответа:
Результат
md5("sanwebe")
используется в качестве границы для различных разделов контента в электронной почте.Почему "санвебе"? Вообще никаких причин. Фрагмент, который у вас есть, вероятно, был опубликован на sanwebe.com (быстрый google приносит пару), или был получен из фрагмента, который был там изначально. В "санвебе" нет ничего особенного, вы можете просто использовать
md5("stackoverflow")
.
Различные части в составном MIME-сообщении должны иметь своего рода маркер, чтобы получатель знал, где снова разделить части. Это делается путем определения произвольного маркера с помощью параметра границы почтового заголовка типа содержимого. К этому жетону нет особых требований, но одно из них: я не могу присутствовать больше нигде в Почте.
Использование функции md5 в коде, который вы показали, просто использует функцию md5 для генерации некоторого маркера, который, вероятно, не является присутствует в другом месте послания. Вы можете использовать любой другой параметр для md5, или вы можете просто определить переменную $boundary, чтобы содержать любую другую случайную строку.