我正在从Windows应用程序发送邮件。在该内容中我有一个单词“Acknowledge”作为链接..如果用户在Outlook中打开邮件并单击确认我想捕获日期和时间。并将其保存在我的表中。这是我的要求
我已经在代码隐藏中使用HTML完成代码并使用确认链接获取邮件但在此之后..不知道获取日期&单击“确认”链接中的时间并在表中更新相同的内容。
我正在使用C#.net 4.0
任何想法都会有所帮助吗?
以下是我试过的代码
MailMessage mail = new MailMessage();
mail.To.Add(emailid);
mail.From = new MailAddress(emailid);
mail.Subject = "Invoice No : " + InvoiceNumberTextBox.Text + "";
string Body = @"<p>Dear Team,</p><p> Please find the Invoice Details below :-</p><p><b><u>INVOICE DETAILS</u></b></p>
<table style=""height:60px;width:610px"">
<tr><td style=""width:250px;"">Invoice Number: " + InvoiceNumberTextBox.Text + @"</td></tr>
<tr><td style=""width:250px;"">Company Name: " + HRPartyNameTextBox.Text + @"</td></tr>
<tr><td style=""width:250px;"">Amount: " + HRAmountTextBox.Text + @"</td></tr>
<tr><td style=""width:250px;"">Joint Venture: " + JointVentureComboBox.Text + @"</td></tr>
<tr><td style=""width:250px;"">Request Raised On: " + chequeReqdate + @"</td></tr>
</table>
<br/><br/>
<a href="">Acknowledge</a>
<p>Regards</p>
<center>***** This is auto generated mail, please do not reply to this mail *****</center>";
mail.Body = Body;
mail.IsBodyHtml = true;
SmtpClient smtp = new SmtpClient();
smtp.Host = "mailrelay.XXXX.com";
smtp.Port = 25;
smtp.UseDefaultCredentials = true;
smtp.Credentials = new System.Net.NetworkCredential("emailid", "");
smtp.EnableSsl = true;
smtp.Send(mail);
}
catch (Exception sm)
{
sm.ToString();
}
答案 0 :(得分:1)
无法在客户端计算机上执行代码以获取点击Acknowledged
时的日期和时间(这是我认为您正在询问的内容)。
最好的解决方案是使用GUID或您已有的某种类型的唯一标识符生成URL,并将其传递到服务器上的页面进行处理。
链接点击&gt; 网页会收到唯一ID &gt; 更新数据库的网址 相应
答案 1 :(得分:0)
您需要将链接的目标设置回您自己的asp.net服务器,当用户点击该链接时,可以很容易地将其记录在您的数据库中。