Отправка электронного письма со ссылкой, которая опубликует пользователя на определенной странице, которую я получил! - PullRequest
1 голос
/ 11 мая 2011

В принципе, я могу отправлять электронные письма пользователю.Я попытался отправить ему это:

MailMessage message = new MailMessage()
{
    Subject = "YOURGURU account",
    Body = "Thanks for joining our site. click th link below to validate your account"+
           "<br/>"+
           HttpContext.Current.Request.Url.Host
};

message.To.Add(new MailAddress("makovetskiyd@yahoo.co.uk", "Some name"));
message.IsBodyHtml = true;
SmtpClient client = new SmtpClient();
client.EnableSsl = true;
client.Send(message);

Response.Redirect("CheckYourEmail.aspx");

Функция HttpContext.Current.Request.Url.Host появляется в электронном письме как "localhost" ... но мне нужно, чтобы она выглядела как настоящая ссылка ... что я нажимаю и она перенаправляет меня,Я использую visual studio 2010

Ответы [ 3 ]

2 голосов
/ 11 мая 2011

Похоже, что вы используете

HttpContext.Current.Request.Url.Host

вместо HttpContext.Current.Request.Url

Для вашей локальной среды разработки вы получите localhost, но когдавы развертываете это на каком-то веб-сервере, это будет корректно обновляться до URL размещенного веб-сервера.

В идеале у вас должен быть какой-то путь, который будет содержать строку запроса, а затем соответствующий код в загрузке страницы для проверки и использованияquerystring.

Пример:

<br/>"+HttpContext.Current.Request.Url.Host + @"/AccountValidate.aspx?id=SomeId"

Примечание. Вы также можете использовать HttpContext.Current.Request.Url, который перенаправит вас на текущую страницу с помощью строки запроса:

<br/>"+HttpContext.Current.Request.Url + "?id=SomeId"

А затем при загрузке страницы AccountValidate.aspx или текущей страницы:

string id = Convert.ToString(Request.QueryString["id"]);
if(!string.IsNullOrEmpty(id))
... //Code here to inform the user of successful activation

Важным моментом, который необходимо учитывать, является то, что вам потребуется какой-то способ узнать, какой пользователь нажал на ссылку активации.и, следовательно, строка запроса будет полезна.

Надеюсь, это поможет!

1 голос
/ 11 мая 2011

Я немного растерялся, но все равно постараюсь помочь.

Я думаю, что вы пытаетесь сделать, просто включить в свою электронную почту ссылку, по которой пользователи могут перейти и перейти на ваш сайт.

Чтобы сделать это, вы захотите включить в свою электронную почту тег привязки, который указывает на ваш сайт, и вместо использования адреса хоста вам нужно будет включить Request.Url, например:

String.Format("<a href=\"{0}\">click here</a>",HttpContext.Current.Request.Url);
0 голосов
/ 11 октября 2012

Если вы используете Outlook 2010, перейдите в раздел Домашняя страница / Новый элемент / Сообщение электронной почты, используя / HTML

Затем выделите слово, которое вы хотели бы видеть в виде ссылки, щелкните правой кнопкой мыши и выберите Hyperlinlk.Откроется окно, в котором вы сможете указать, куда должна указывать ваша ссылка.

После правильного выбора ваше слово должно отображаться в виде ссылки с измененным цветом и подчеркнутым.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...