我有15个字母的代码似乎在我发送的电子邮件末尾添加了自己。
此代码似乎更改了我发送的每个电子邮件批次(如果我通过循环发送多封电子邮件,它们都具有相同的代码,但下次我发送多封电子邮件时,代码却不同)并且代码似乎总是如此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 /> <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 />
</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!
答案 0 :(得分:1)
边界ID通常以双破折号开始,并且立即跟随换行符 试试这个.... 变化
$html .= $boundary;
到
$html .= '--'.$boundary.'
';