1

我正在尝试通过 PHP 发送电子邮件,并且在消息传递时,我遇到了一个小问题。在 Gmail 和可能的其他电子邮件客户端中,邮件的最后一行(签名)被剪掉了。通过“剪辑”,我的意思是最后一行被隐藏,带有一种可以单击以取消隐藏最后一行的按钮。

有什么方法可以阻止这种情况发生吗?这是我第一次尝试通过 PHP 发送 HTML 电子邮件,所以我想也许有某种我不知道的语法。

我基本上只是使用 phpmailer 示例代码:

require_once('../class.phpmailer.php');
//include("class.smtp.php"); // optional, gets called from within class.phpmailer.php if not already loaded

$mail = new PHPMailer(true); // the true param means it will throw exceptions on errors, which we need to catch

$mail->IsSMTP(); // telling the class to use SMTP

try {
  $mail->Host       = "mail.yourdomain.com"; // SMTP server
  $mail->SMTPDebug  = 2;                     // enables SMTP debug information (for testing)
  $mail->SMTPAuth   = true;                  // enable SMTP authentication
  $mail->SMTPSecure = "tls";                 // sets the prefix to the servier
  $mail->Host       = "smtp.gmail.com";      // sets GMAIL as the SMTP server
  $mail->Port       = 587;                   // set the SMTP port for the GMAIL server
  $mail->Username   = "yourusername@gmail.com";  // GMAIL username
  $mail->Password   = "yourpassword";            // GMAIL password
  $mail->AddReplyTo('name@yourdomain.com', 'First Last');
  $mail->AddAddress('whoto@otherdomain.com', 'John Doe');
  $mail->SetFrom('name@yourdomain.com', 'First Last');
  $mail->AddReplyTo('name@yourdomain.com', 'First Last');
  $mail->Subject = 'PHPMailer Test Subject via mail(), advanced';
  $mail->AltBody = 'To view the message, please use an HTML compatible email viewer!'; // optional - MsgHTML will create an alternate automatically
  $mail->MsgHTML(file_get_contents('contents.html'));
  $mail->AddAttachment('images/phpmailer.gif');      // attachment
  $mail->AddAttachment('images/phpmailer_mini.gif'); // attachment
  $mail->Send();
  echo "Message Sent OK<p></p>\n";
} catch (phpmailerException $e) {
  echo $e->errorMessage(); //Pretty error messages from PHPMailer
} catch (Exception $e) {
  echo $e->getMessage(); //Boring error messages from anything else!
}

感谢您的建议。

4

2 回答 2

3

不,真的没有。您所指的“剪辑”是由 GMail(或任何客户端)根据自己对电子邮件内容的分析完成的 - 如果某些内容看起来像签名/引用的回复,它将折叠它。

这与您发送电子邮件的方式无关。

于 2012-07-14T20:46:07.083 回答
0

经常在 SO 上重复的解决方案是消除任何类型的“重复”,以便人们在页脚、不可见的图像等中添加唯一的时间戳。

在我的情况下,Gmail 出现了一个错误,并且会显示此消息,因为名字出现在主题行和电子邮件正文中。

它甚至没有修剪消息,它正在显示完整的消息,但说它已被修剪。

在此处输入图像描述

解决方案是尝试手动删除电子邮件的一部分并继续向自己发送测试,直到您不再看到通知,然后从那里开始工作。

于 2019-06-01T06:27:56.860 回答