HTML 代码是否可以“太长”而无法发送


Can HTML code be "too long" to send?

所以,基本上我有一个可以自行完美打开的HTML文件,但是我尝试使用HTML发送电子邮件,而电子邮件只是从不发送。它说他们已经发送,但他们没有进入收件箱。我已经检查了垃圾邮件。但是,当我做较短的HTML代码(或根本没有html代码)时,它会完美地发送。这是我的 HTML 代码有误吗?或者这是代码太长(很长)的错误?

不确定在 html 或 php 中问这个问题,因为电子邮件文件是 php

这是电子邮件发送者

    <?php
header ( 'Cache-Control: no-store, no-cache, must-revalidate' );
header ( 'Cache-Control: post-check=0, pre-check=0' ,  false );
header ( 'Expires: Sat, 26 Jul 1997 05:00:00 GMT' );
header ( 'Last-Modified: ' . gmdate ( 'D, d M Y H:i:s' ). 'GMT' );
header ( 'Pragma: no-cache' );
header ( 'Content-Type: text/plain' );
$to  =  '' ;  
$from  =  '' ;
$subject  =  '' ;
$headers   =  "From: "  .  $from  .  "'r'n" ;
$headers  .=  "Reply-To: " .  $from  . "'r'n" ;
$headers  .=  "MIME-Version: 1.0'r'n" ;
$headers  .=  "Content-type: text/html; charset=iso-8859-1'r'n" ;
$headers  .=  "X-Mailer: Microsoft Office Outlook, Build 12.0.4210'r'n" ;
$headers  .=  "X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165'r'n" ;
$headers  .=  "X-Originating-IP:'r'n" ;
$message  = <<<EOF
<html>VERY LONG HTML CODE HERE</html>

EOF;

echo  "[?] Sending..'n" ;            
if ( mail ( $to ,  $subject ,  $message ,  $headers )) {
echo  '[+] Email was sent sucessfully.' ;} else {echo  '[!] Failed to send.' ;}
die(); 
?>
  • SMTP 已定义每行 1000 个字符的限制。它在 RFC 821 中定义。某些反垃圾邮件会检查电子邮件的 RFC 兼容因素。因此,它可能会增加您的垃圾邮件分数。
  • 一些垃圾邮件系统还会惩罚没有纯文本版本的HTML电子邮件。例如著名的垃圾邮件刺客。

将这两个因素相加,您就可以了解为什么某些反垃圾邮件会将电子邮件视为垃圾邮件。

溶液:

  • 拆分长线并注意一些警告,例如这个。
  • 包括 HTML 的纯文本版本