2017-12-12 4 views
0

Ich versuche Transaktions-E-Mails von meiner Website mit der MailKit-Bibliothek zu senden, aber ich kann nicht die HTML-Renderer ein Anker-Tag machen. In der Tat bin ich nicht sicher, dass irgendwelche der HTML gerendert wird. Irgendwelche Ideen, was ist los? Mein Code ist unten.Html rendern nicht für MailKit E-Mail

var message = new MimeMessage(); 
     message.From.Add(new MailboxAddress("Eternal Meta", "[email protected]")); 
     message.To.Add(new MailboxAddress(user.Username, user.Email)); 
     message.Subject = "Eternal Meta - Registration"; 

     var builder = new BodyBuilder(); 

     builder.HtmlBody = "<p>Use the link below to activate your account</p><br><a href=" + "Localhost:49288/Users/Activate?userId=" + user.UserID + "&token=" + user.Token + ">Click Me</a>"; 

     message.Body = builder.ToMessageBody(); 

     using (var client = new SmtpClient()) 
     { 
      client.Connect("smtp.gmail.com", 587, false); 
      client.Authenticate("[email protected]", "password"); 

      client.Send(message); 

      client.Disconnect(true); 
     } 

Antwort

0

eine vollständige URL für das "href" Attribut verwenden (wie https://[...]).

Der E-Mail-Client kann den HTML-Code in Ihrer Nachricht analysieren, und höchstwahrscheinlich wird das Attribut "href" entfernt, da die URL als relativ betrachtet wird.

+0

Die App wird nur lokal gehostet, daher habe ich keine vollqualifizierte URL, um den Link auf –

+0

zu lenken. Es spielt keine Rolle, das Protokoll Ihrer URL voranzutreiben (wie 'http: // localhost/... '-" localhost "wird sowieso als Ihre Domäne für 127.0.0.1 fungieren. – gabriel0x62