Назначение 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 3

2 ответа:

Результат md5("sanwebe") используется в качестве границы для различных разделов контента в электронной почте.

Почему "санвебе"? Вообще никаких причин. Фрагмент, который у вас есть, вероятно, был опубликован на sanwebe.com (быстрый google приносит пару), или был получен из фрагмента, который был там изначально. В "санвебе" нет ничего особенного, вы можете просто использовать md5("stackoverflow").

Различные части в составном MIME-сообщении должны иметь своего рода маркер, чтобы получатель знал, где снова разделить части. Это делается путем определения произвольного маркера с помощью параметра границы почтового заголовка типа содержимого. К этому жетону нет особых требований, но одно из них: я не могу присутствовать больше нигде в Почте.

Использование функции md5 в коде, который вы показали, просто использует функцию md5 для генерации некоторого маркера, который, вероятно, не является присутствует в другом месте послания. Вы можете использовать любой другой параметр для md5, или вы можете просто определить переменную $boundary, чтобы содержать любую другую случайную строку.