【发布时间】:2011-10-02 01:56:52
【问题描述】:
我想知道是否可以根据电子邮件地址在 PHPMailer 中隐藏正文消息的某些部分。我有 2 个电子邮件地址正在发送消息,而第二个电子邮件地址只需要查看第一个电子邮件地址所看到的部分内容。有没有办法确定我只希望第一个电子邮件地址看到内容。例如:
$mail = new PHPMailer();
$mail->AddReplyTo($fromemail, "".$fromname."");
$mail->AddReplyTo("emailaddress1@abc.com", "Company ABC");
$mail->SetFrom($fromemail, "".$fromname."");
$mail->AddAddress("emailaddress1@abc.com", "Company ABC");//would see the whole email
$mail->AddAddress("partneraddress@somecompany.com", "Partner Company");//would only see 1st paragraph
$subject = "Email Subject";
$mail->AltBody = "To view this message, please use an HTML compatible email viewer";
$mail_body .= "
<html>
<head>
<title>Email Message</title>
</head>
<body>
<p>This would be a paragraph that both email addresses see</p>";
if ($mail->AddAddress == "emailaddress1@abc.com") {
$mail_body .= "<p>This would only be seen by the first address</p>";
}
$mail_body .= "</body>
</html>";
【问题讨论】:
-
为什么不只生成两封单独的电子邮件?其他任何东西都将成为客户端解决方案,因此您将向两个收件人发送“隐藏”文本。不了解你,但是“如果你是 XYZ 用户,请在上面洒上一些东西,请不要阅读这篇文章”对我不起作用......
-
Marc,我当然可以生成 2 封单独的电子邮件。我想从其他使用 PHPMailer 的人那里了解是否使用服务器端代码可以将邮件正文的某些部分显示给一个电子邮件地址,而将其他部分显示给另一个电子邮件地址。如果您对您关于漂亮的报价的问候,不知道您在谈论什么不适合您??
-
PHP 邮件程序的工作是不知道电子邮件的内容以及发送什么和不发送什么。这完全由您决定。因此,如果您希望 X 看不到为 Y 准备的内容,那么首先不要将这些内容发送给 X,例如...发送 2 封单独的电子邮件。
-
感谢 Marc 解释其含义。我确实已经发送了单独的电子邮件,并且想与其他人检查他们是否已经通过使用代码向多个人发送一封电子邮件并且仅对特定电子邮件可用某些信息来完成此操作。这比不得不违背 DRY 方法更容易。但我会这样做,因为这似乎不可能。再次感谢您。