2016-04-27 12 views
1

電子メールでリンクを送信していますが、電子メールでリンクを送信していますが、アクティベーションコードを添付して表示していますが、デバッグではリンクをクリックしますが、私はアクティベーションコードとのリンクを取得しています。以下は、私のコードは、私は私が間違っているのどこ私に知らせてくださいリンクをクリックした後、ブラウザだけでhttp://localhost:49234/Index.aspx?ActivationCode=までを取得していますボディセクションにアクティベーションコードがリンクをクリックした後にURLに表示されない

[email protected]"<br /><a href='http://localhost:49234/Index.aspx?ActivationCode='"+objUserDetailsBE.ActivationCode+"'>Create a login to account</a>"; 

をリンクを追加することです。コメントにあたりとして 追加コード:以下

string emailAddress = txtEmailAddress.Text; 
string subject = "Login Credentials For Nth Star"; 
string body = string.Format("Hello,");       
[email protected]"<br /><a href='http://localhost:49234/Index.aspx?ActivationCode='"+objUserDetailsBE.ActivationCode+"'>Create a login to account</a>"; 
Email.SendMail(objemail, emailAddress, subject, body, ""); 

とは、私の「のSendMail」メソッド

public static bool SendMail(EmailConfigurationBE objEmailConfig, string toEmailAddresses, string subject, string body, string mailAttachments) 
    { 
     char[] splitter = { ';' }; 
     MailMessage mailMessage = new MailMessage(); 
     mailMessage.From = new MailAddress(objEmailConfig.Email); 
     mailMessage.Subject = subject; 
     mailMessage.Body = body; 
     mailMessage.IsBodyHtml = true; 
     mailMessage.Priority = MailPriority.High; 
     string[] multi = toEmailAddresses.Split(';'); 
     string[] multipath = mailAttachments.Split(';'); 
     foreach (string MultiemailId in multi) 
     { 
      mailMessage.To.Add(new MailAddress(MultiemailId)); 
     } 
     if (mailMessage.To.Count > 0) 
     { 
      //Adding Multiple Attachments 
      if (mailAttachments != "") 
      { 
       foreach (string Multipath1 in multipath) 
       { 
        Attachment attachFile = new Attachment(Multipath1); 
        mailMessage.Attachments.Add(attachFile); 
       } 

      } 
      SmtpClient smtpClient = new SmtpClient(); 
      try 
      { 
       smtpClient.Host = objEmailConfig.SMTPServer; 
       smtpClient.EnableSsl = EnableSsl; 
       System.Net.NetworkCredential NetworkCred = new System.Net.NetworkCredential(); 
       NetworkCred.UserName = objEmailConfig.Email; 
       NetworkCred.Password =objEmailConfig.Password; 
       smtpClient.UseDefaultCredentials = true; 
       smtpClient.Credentials = NetworkCred; 
       smtpClient.Port =Convert.ToInt32(objEmailConfig.PortNumber); 
       smtpClient.Send(mailMessage); 
       return true; 
      } 
      catch 
      { 

       mailMessage = null; 
       smtpClient = null; 
       return false; 
      } 
     } 
     else 
     { 
      return false; 
     } 
    } 
+0

もっと大きなコードを投稿できますか?それがどこで生成されているのかはっきりしておらず、後でこの "body"変数をどのように使用していますか? – Andrei

+0

@Andreiはこれ以上チェックする必要があるかどうかをチェックしてお知らせします。 – Steve

答えて

1

それは、単純な引用の問題のように見えています。あなたは、http前に最後に別のActivationCode=次々と三番目に単一引用符を持って、ここで

<a href='http://localhost:49234/Index.aspx?ActivationCode='"+objUserDetailsBE.ActivationCode+"'

を探してください。 1つが冗長であるように見え、それがあなたのマークアップを壊す。

正しいバージョン:

[email protected]"<br /><a href='http://localhost:49234/Index.aspx?ActivationCode="+objUserDetailsBE.ActivationCode+"'>Create a login to account</a>"; 

私がやった唯一の変更はActivationCode=後に単一引用符を削除することでした。

また、アクティブなコードには引用符や<>のようなシンボルも含まれていないようにしてください。マークアップも破損する可能性があります。

+0

ありがとうございました!できます – Steve

関連する問題