Un link in una mail, non viene eseguito il rendering come anello di yahoo
-
20-09-2019 - |
Domanda
stringa dalla = "abc@gmail.com"; stringa = "xyz @ gmail.com, @ xyz yahoo.co.in"; string password = "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);
Questo codice senta con successo la posta. appare quando guardo il mio gmail, il "StackOverflow" collegamento rende come link ed ero in grado di accedere alla relativa pagina, ma in Yahoo non trovo alcun collegamento invece solo il testo "StackOverflow".
Soluzione
<a href="http://www.stackoverflow.com">stackoverflow</a>
Hai dimenticato la http://
Altri suggerimenti
Forse Yahoo! Mail è meno indulgente sui valori degli attributi HTML non quotati, provate questo invece:
mail.Body
= "<html><body><h1>My Message</h1><br><a href=\"http://www.stackoverflow.com\">stackoverflow</a></body></html>";
Prova
<a href="http://www.stackoverflow.com/"> stackoverflow</a>
Prova a specificare un HTML valido:
mail.Body = "<html><body><h1>My Message</h1><br><a href=\"http://www.stackoverflow.com\">stackoverflow</a></body></html>";
Quando si invia grosso del contenuto HTML come corpo, http non importa. Questo è il codice nel mio file di configurazione mi ha turbato. Quando ho aggiunto http, funziona benissimo, senza http, yahoo fallisce.
<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>