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.

Foi útil?

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>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top