我正在尝试在我的网站注册后将验证邮件发送给用户。注册页面是Inbimup.aspx位于root/login/.
我可以成功将邮件发送到包含链接的用户,
下面的代码protected void SendActivationEmail()
{
string activationCode = Guid.NewGuid().ToString();
using (MailMessage mm = new MailMessage("registration@estoreproj.xyz", tbEmail.Text))
{
mm.Subject = "Account Activation";
string body = "Hello " + tbUname.Text + ",";
body += "<br /><br />Please click the following link to activate your account";
body += "<br /><a href = '" + Request.Url.AbsoluteUri.Replace("Signup.aspx", "estoreproj.xyz/login/CS_Activation.aspx?ActivationCode=" + activationCode) + "'>Click here to activate your account.</a>";
body += "<br /><br />Thanks";
mm.Body = body;
mm.IsBodyHtml = true;
SmtpClient smtp = new SmtpClient();
smtp.Host = "estoreproj.xyz";
smtp.EnableSsl = false;
NetworkCredential NetworkCred = new NetworkCredential("registration@estoreproj.xyz", "mypassword");
smtp.UseDefaultCredentials = true;
smtp.Credentials = NetworkCred;
smtp.Port = 587;
smtp.Send(mm);
}
}
但是,当用户单击链接时,它不会重新订立。注意:网站是www.estoreproj.xyz
当用户单击链接时,它应该重定向到root/login/login/
的页面称为cs_activation.aspx但是用户点击的链接就像
https://cs_activation.apsx/?ActivationCode=some random code/login/Signup.aspx
请帮忙吗?对不起,如果标题错了,我不知道如何构架
如果您知道要a
标签转到estoreproj.xyz/login/cs_activation.aspx/?ActivationCode=some random code
那么,最简单的事情就是将href
设置为此。因此,更改此行
body += "<br /><a href = '" + Request.Url.AbsoluteUri.Replace("Signup.aspx", "estoreproj.xyz/login/CS_Activation.aspx?ActivationCode=" + activationCode) + "'>Click here to activate your account.</a>";
为
body += "<br /><a href = 'https://estoreproj.xyz/login/cs_activation.aspx/?ActivationCode=some random code'>Click here to activate your account.</a>";
这可能是确保您指向链接的最简单方法。