电子邮件后随机15个字母代码

时间:2016-09-02 19:37:52

标签: php html email

我有15个字母的代码似乎在我发送的电子邮件末尾添加了自己。

enter image description here

此代码似乎更改了我发送的每个电子邮件批次(如果我通过循环发送多封电子邮件,它们都具有相同的代码,但下次我发送多封电子邮件时,代码却不同)并且代码似乎总是如此15个字符。

那么有人知道这些代码可能来自哪里,以及如何防止它?

我正在使用默认的PHP mail()函数。

编辑:

下面是生成电子邮件的代码片段。

$boundary = uniqid('np');
$headers =  'From: This.Site <no-reply@This.Site>' . "\r\n" .
                'Reply-To: no-reply@This.Site' . "\r\n" .
                "MIME-Version: 1.0" . "\r\n" .
                "Content-Type: multipart/alternative;boundary=" . $boundary . "\r\n".
                'X-Mailer: PHP/' . phpversion();

mail($email, 'Subject - '.$title.' - Client Name', create_notif_email($name, $compagnieFrom, $title, $link, $boundary), $headers);

function create_notif_email($name, $compagnieFrom, $title, $link, $boundary){
    $urlSite = get_bloginfo('url');
    $html = '';
    $html .= file_get_contents(__DIR__.'/plaintext.txt');
    $html .= "\r\n\r\n--" . $boundary . "\r\n";
    $html .= "Content-type: text/plain;charset=utf-8\r\n\r\n";
    $html .= file_get_contents(__DIR__.'/plaintext.txt');
    $html .= "\r\n\r\n--" . $boundary . "\r\n";
    $html .= "Content-type: text/html;charset=utf-8\r\n\r\n";
    $html .= file_get_contents(__DIR__.'/mail.html');
    $html .= $boundary;
    $html = str_replace('[NOM]', $name, $html);
    $html = str_replace('[FROM]', $compagnieFrom, $html);
    $html = str_replace('[TITLE]', $title, $html);
    $html = str_replace('[LINK]', '<a href="'.$link.'">'.$link.'</a>', $html);
    $html = str_replace('[URLSITE]', $urlSite, $html);
    return $html;
}

mail.html

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>Nouveau poste pour vous! - [TITLE] - Bestaff</title>
</head>
<body style="width:100%; margin:0; padding:0; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;">

<!-- body wrapper -->
<table cellpadding="0" cellspacing="0" border="0" style="margin:0; padding:0; width:100%; line-height: 100% !important;">
  <tr>
    <td valign="top">
      <!-- edge wrapper -->
<!-- ///////////////////////////////////////////////////// -->

<table cellpadding="0" cellspacing="0" border="0" align="center">
  <tr>
    <td width="20"></td>
    <td valign="top" style="vertical-align: top; text-align:left;">
      <br /><img src="[URLSITE]/images/image.png" alt="Bestaff.in" title="Bestaff.in"/><br />
      <div style="font-family:Arial, sans-serif; font-size:14px; line-height:18px;">
        <br /><i>English version follows</i><br /><br />
        Bonjour [NOM],<br /><br />
        [FROM] [TITLE].<br /><br />
        [LINK]<br /><br />
        Bonne chance!<br /></br>
        <i style="font-style=12px"></i>
        <br />&nbsp;<hr /><br />
        Hello [NOM],<br /><br />
        [FROM][TITLE].<br /><br />
        [LINK]<br /><br />
        Good luck!<br /></br>
        <i style="font-style=12px"></a></i><br />
        &nbsp;
    </div>
    </td>
    <td width="20"></td>
  </tr>
</table>

    </td>
  </tr>
</table>
<!-- / page wrapper -->
</body>
</html>

和plaintext.txt

English version follows

Bonjour [NOM],
[FROM][TITLE].
[LINK]
Bonne chance!

Hello [NOM],
[FROM][TITLE].
[LINK]
Good luck!

1 个答案:

答案 0 :(得分:1)

边界ID通常以双破折号开始,并且立即跟随换行符 试试这个.... 变化

 $html .= $boundary;

$html .= '--'.$boundary.'
';

源:https://www.w3.org/Protocols/rfc1341/7_2_Multipart.html