2012-01-09 70 views
1

我的工作与Asp.Net(C#)在网站上,我有这样一个问题:单击超链接在邮件

我会收到一封电子邮件20人,有邮件的链接。如果用户点击链接我想保存在某个地方(数据库,文本文件等)这个用户的邮件地址。

我该怎么办?

感谢,

约翰

+0

基本上你想要点击链接的用户的电子邮件列表,对吧? – AksharRoop 2012-01-09 11:09:36

+0

是的,这是正确的 – John 2012-01-09 11:12:06

回答

4

既然你已经知道的人的电子邮件地址(因为您发送了一封电子邮件给他),你可以包含一个查询字符串参数是部分锚邮件:

<a href="http://example.com/foo.aspx?email=john.smith%40foo.com">Click me</a> 

当观看此邮件的人的链接点击网站上的foo.aspx页面被称为并通过电子邮件。从那里你可以做任何你想用这封电子邮件(保存在数据库,文本文件,任何你想要的)。

由于显而易见的原因,您可能需要对此电子邮件地址进行加密,以避免他更改并传递其他地址。根据您所需的安全级别以及更改此电子邮件的敏感性,您可以使用不同的加密算法。

+0

谢谢Darin。 :) – John 2012-01-09 11:18:07

1

您将不得不链接到ASPX页面,并将该用户的电子邮件地址嵌入该URL中编码的链接中。

例如,您可以发送邮件到用户[email protected]的链接是这样的:

<A HREF="[email protected]">Click here</A> 

然后你linkup.aspx页面可以轻松读取输入参数,并保存在任何地方它想要的数据。

+0

谢谢罗伊。我会尝试。 :) – John 2012-01-09 11:17:51

0

我不认为有可能从http头获取电子邮件地址,因为我认为电子邮件应用程序不包含用户的电子邮件地址在http请求中。

我能想到的唯一可能的方式是包括您在数据库中发送邮件的电子邮件地址以及电子邮件地址旁边的特定密钥。然后,您将此特定密钥作为url中的get变量发送给您想要的用户,并且当他们单击该链接时,将get变量与数据库进行比较,并检索单击该链接的用户的电子邮件地址。