【发布时间】:2012-01-17 02:39:36
【问题描述】:
我目前正在使用 PHPMailer,它从上传的 .txt 文件中获取电子邮件地址列表。当前系统运行良好,但我正在尝试添加一个跟踪系统以查看是否查看了电子邮件。
我们通过在每封电子邮件中添加一张图片来做到这一点,当通过 php 查看更新时,我们会知道该电子邮件已被查看。
目前我们的 PHPMail 看起来像这样,
foreach ($email_addresses as $line_num => $line) {
$ismatch = preg_match('/^[\s,]+$/',$line);
$isvalid = preg_match('/^[^@]+@[a-zA-Z0-9._-]+\.[a-zA-Z]+$/', trim($line));
// found a blank line, ignore
if($ismatch)
echo "";
// found an invaid email address, add to string
else if($isvalid==0)
$strInvalidEmailAddresses .= $line. '<br />';
// no issues, add to BCC
else{
$mail->addBCC($line,$line);
}
}
当前系统将每封电子邮件添加到密件抄送。我希望将每封电子邮件发送到每个单独的地址,而无需密件抄送。
当我在 HTML 电子邮件末尾尝试此图像时遇到了问题。
$track_image = '<img src="http://domain.com/email_test/email_beacon.php?campaign='.$intCampaignID.'&email='.$line.'" alt="" />';
$mail->MsgHTML($html_page.$track_image);
每当我尝试包含跟踪图像时,$line(或电子邮件)总是相同的,但我需要根据 .txt 文件中的电子邮件进行更改。
【问题讨论】:
-
请记住,大多数电子邮件客户端(基于 Web/桌面)默认阻止加载远程内容。
-
我理解这一点,并不是说这是 100% 的解决方案,但它至少会让我们知道其中一些人。