在你驳回这个问题之前,因为它没有任何意义"并且"它是不可能的"请听我说:
问题:
我们在使用我们的系统发送的每封电子邮件中实施跟踪像素(我可下载的带有唯一网址的GIF文件),这有助于我们跟踪电子邮件的打开情况。这样做的问题是,当我们cc几个收件人时,跟踪像素被下载,我们无法检测谁已打开此电子邮件,因为所有电子邮件都是CC,内容必须是相同。
可能的解决方案:
如果SMTP服务器要控制注入跟踪像素,则SMTP可以通过使用不同的URL发布每个收件人,将邮件正文从收件人更改为收件人,假装所有收件人都收到相同的邮件。
然而,使用公共SMTP服务器(例如Google的SMTP)似乎不太可行,但有些公司(例如AirMail)仍然能够这样做,发送不同的内容(cc消息中每个收件人的跟踪URL不同)。当我检查电子邮件标题时,它们似乎是从谷歌SMTP服务器发送的(客户帐户使用gmail.com帐户)。这怎么可能?
答案 0 :(得分:0)
他们正在为每个人创建一个独特的信息。没有什么真正神奇的。通常是某种类型的邮件合并。
答案 1 :(得分:-1)
虽然我没有适合您的C#解决方案,但这是一个很好的VBA解决方案,使用Excel。
Sub Send_Files()
'Working in Excel 2000-2016
'For Tips see: http://www.rondebruin.nl/win/winmail/Outlook/tips.htm
Dim OutApp As Object
Dim OutMail As Object
Dim sh As Worksheet
Dim cell As Range
Dim FileCell As Range
Dim rng As Range
With Application
.EnableEvents = False
.ScreenUpdating = False
End With
Set sh = Sheets("Sheet1")
Set OutApp = CreateObject("Outlook.Application")
For Each cell In sh.Columns("B").Cells.SpecialCells(xlCellTypeConstants)
'Enter the path/file names in the C:Z column in each row
Set rng = sh.Cells(cell.Row, 1).Range("C1:Z1")
If cell.Value Like "?*@?*.?*" And _
Application.WorksheetFunction.CountA(rng) > 0 Then
Set OutMail = OutApp.CreateItem(0)
With OutMail
.to = cell.Value
.Subject = "Testfile"
.Body = "Hi " & cell.Offset(0, -1).Value
For Each FileCell In rng.SpecialCells(xlCellTypeConstants)
If Trim(FileCell) <> "" Then
If Dir(FileCell.Value) <> "" Then
.Attachments.Add FileCell.Value
End If
End If
Next FileCell
.Send 'Or use .Display
End With
Set OutMail = Nothing
End If
Next cell
Set OutApp = Nothing
With Application
.EnableEvents = True
.ScreenUpdating = True
End With
End Sub