两个几乎相同的 php 邮件脚本。一个变成垃圾,另一个则没有
我有两个几乎相同的邮件脚本,它们在用户完成订单后向用户发送确认电子邮件。下面粘贴的第一个邮件直接进入 Outlook 的垃圾电子邮件文件夹,而第二个邮件则按预期直接进入收件箱。因此,我一直在抓狂,但我看不到任何应该将第一个发送到垃圾文件夹的内容。
1:直接进入垃圾邮件的脚本
$to = $epost . ', ';
$to .= '[email protected]';
$subject = 'Ny bestilling fra url.com';
$headers = "From: [email protected]\n";
$headers .= "Reply-To: [email protected]\n";
$headers .= "Content-type: text/plain; charset=iso-8859-1\n";
$message = '<h2>Ordrebekreftelse url.com</h2>
<p>Ordre ID: '.$ordre_id.'</p>
<p>Takk for din bestilling. Oblatene vil normalt leveres innen 1-3 dager.</p>
<p>Nedenfor vil du se hva din bestilling inneholder:</p>
<p>Oblater: '.$antall_oblat.' stk.</p>
<p>Følgende rekvisita er valgt:</p>
<p>Futteral: '.$antall_futteral.' stk.<br />
Plastlommer: '.$antall_reflekslomme.' stk.<br />
Lanyards: '.$antall_lanyard.' stk.</p><br />
<p>Dersom du har spørsmål eller har bestilt feil, vennligst send oss en <a href="mailto:[email protected]">e-post</a> med ordre IDen som emnefelt.';
2:按照预期直接进入收件箱的脚本。
$to = $epost . ', ';
$to .= '[email protected]';
$subject = 'Ny bestilling fra url.com';
$headers = "From: [email protected]\n";
$headers .= "Reply-To: [email protected]\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\n";
$message = '<h2>Ordrebekreftelse url.com</h2>
<p>Ordre ID: '.$ordre_id.'</p>
<p>Takk for din bestilling. Kortene er sendt til produksjon og vil leveres innen 1 - 3 dager etter at godkjente filer er mottatt.</p>
<p>Nedenfor vil du se hva din bestilling inneholder:</p>
<p>Korttype: <strong>'.$korttype.'</strong> (1 = Uten magnetstripe, 2 = Magnetstripe, 3 = Mifare/berøringsfritt med magnetstripe)</p>
<p>Med de bestilte kortene følger det samme antall oblater med gyldighet for gjeldene periode.</p>
<p>Følgende rekvisita er valgt:</p>
<p>Futteral: '.$antall_futteral.' stk.<br />
Plastlommer: '.$antall_reflekslomme.' stk.<br />
Lanyards: '.$antall_lanyard.' stk.</p><br />
<p>Dersom du har spørsmål eller har bestilt feil, vennligst send oss en <a href="mailto:[email protected]">e-post</a> med ordre IDen som emnefelt.';
I have two almost identical mail scripts which sends a user a confirmation email after he has completed an order. The first one pasted below goes straight to outlook's junk e-mail folder while the second one goes straight to inbox as it is supposed to. I've been tearing my hair out because of this and I can't see anything that should send the first one to the junk folder.
1: The script that goes straight to junk
$to = $epost . ', ';
$to .= '[email protected]';
$subject = 'Ny bestilling fra url.com';
$headers = "From: [email protected]\n";
$headers .= "Reply-To: [email protected]\n";
$headers .= "Content-type: text/plain; charset=iso-8859-1\n";
$message = '<h2>Ordrebekreftelse url.com</h2>
<p>Ordre ID: '.$ordre_id.'</p>
<p>Takk for din bestilling. Oblatene vil normalt leveres innen 1-3 dager.</p>
<p>Nedenfor vil du se hva din bestilling inneholder:</p>
<p>Oblater: '.$antall_oblat.' stk.</p>
<p>Følgende rekvisita er valgt:</p>
<p>Futteral: '.$antall_futteral.' stk.<br />
Plastlommer: '.$antall_reflekslomme.' stk.<br />
Lanyards: '.$antall_lanyard.' stk.</p><br />
<p>Dersom du har spørsmål eller har bestilt feil, vennligst send oss en <a href="mailto:[email protected]">e-post</a> med ordre IDen som emnefelt.';
2: The script that goes straight to inbox as supposed.
$to = $epost . ', ';
$to .= '[email protected]';
$subject = 'Ny bestilling fra url.com';
$headers = "From: [email protected]\n";
$headers .= "Reply-To: [email protected]\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\n";
$message = '<h2>Ordrebekreftelse url.com</h2>
<p>Ordre ID: '.$ordre_id.'</p>
<p>Takk for din bestilling. Kortene er sendt til produksjon og vil leveres innen 1 - 3 dager etter at godkjente filer er mottatt.</p>
<p>Nedenfor vil du se hva din bestilling inneholder:</p>
<p>Korttype: <strong>'.$korttype.'</strong> (1 = Uten magnetstripe, 2 = Magnetstripe, 3 = Mifare/berøringsfritt med magnetstripe)</p>
<p>Med de bestilte kortene følger det samme antall oblater med gyldighet for gjeldene periode.</p>
<p>Følgende rekvisita er valgt:</p>
<p>Futteral: '.$antall_futteral.' stk.<br />
Plastlommer: '.$antall_reflekslomme.' stk.<br />
Lanyards: '.$antall_lanyard.' stk.</p><br />
<p>Dersom du har spørsmål eller har bestilt feil, vennligst send oss en <a href="mailto:[email protected]">e-post</a> med ordre IDen som emnefelt.';
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我看到的唯一主要区别是
Content-type
不同,第一个是text/plain
,第二个是text/html
。尝试改变第一个。如果这不能解决问题,则打印的变量中的某些内容会被识别为垃圾邮件。
The only major difference I see is that the
Content-type
differs, the first one istext/plain
the second onetext/html
. Try to change the first one.If that doesn't solve it you have something in the printed variables that gets recognised as spam.
在你的第一封电子邮件中,即使你的标题说它是文本/纯文本,你也有 HTML,请删除文本/纯文本中的 HTML,因为它无论如何都不会显示在用户的电子邮件框中。
In your first email you have HTML even though your header says that it is text/plain get rid of the HTML in text/plain as it will not be displayed anyways in user's email boxes.
由于电子邮件客户端/接收服务器设置为丢弃 html 电子邮件,电子邮件被拒绝。在大多数反垃圾邮件软件中,html 类型的电子邮件成为垃圾邮件的可能性更高
The email is being rejected because the email client/receiving server is set to drop html emails. In most antispam software html type emails get higher probability of being spam