O link da web em um e -mail não está se renderizando como link no Yahoo
-
20-09-2019 - |
Pergunta
string de = "abc@gmail.com"; string para = "xyz@gmail.com, xyz@yahoo.co.in"; string senha = "abcxyz";
MailMessage mail = new System.Net.Mail.MailMessage();
mail.To.Add(to);
mail.From = new MailAddress(from, "Check Email", System.Text.Encoding.UTF8);
mail.Subject = "This is a test mail";
mail.SubjectEncoding = System.Text.Encoding.UTF8;
mail.Body = "<html><body><h1>My Message</h1><br><a href=www.stackoverflow.com>stackoverflow</a></body></html>";
mail.IsBodyHtml = true;
SmtpClient client = new SmtpClient();
client.Credentials = new System.Net.NetworkCredential(from,password);
client.Port = 587;
client.Host = "smtp.gmail.com";
client.EnableSsl = true;
client.Send(mail);
Este código sedenta com sucesso o e -mail. Quando olho para o meu Gmail, o link "Stackoverflow" renderiza como link e pude navegar para a respectiva página, mas no Yahoo não encontro nenhum link, em vez do texto "Stackoverflow" aparece.
Solução
<a href="http://www.stackoverflow.com">stackoverflow</a>
Você esqueceu o http://
Outras dicas
Talvez Yahoo! O correio é menos perdoador sobre os valores de atributos HTML não cotados, tente isso: em vez disso:
mail.Body
= "<html><body><h1>My Message</h1><br><a href=\"http://www.stackoverflow.com\">stackoverflow</a></body></html>";
Tentar
<a href="http://www.stackoverflow.com/"> stackoverflow</a>
Tente especificar um HTML válido:
mail.Body = "<html><body><h1>My Message</h1><br><a href=\"http://www.stackoverflow.com\">stackoverflow</a></body></html>";
Ao enviar a maior parte do conteúdo HTML como corpo, o HTTP é importante. Este é o código no meu arquivo de configuração me incomodou. Quando adicionei o HTTP, ele funciona bem, sem HTTP, o Yahoo falha.
<tr>
<td colspan="2" onClick="#stackoverflow#" style="cursor:hand;">
<center>
<b>
<a href='http://www.stackoverflow.com' style="color:#1C0693;text-decoration:none;">stackoverflow</a>
</b>
</center>
</td>
</tr>