邮件中的超链接在 Gmail 中未显示,但在 Outlook 中显示

本文关键字:显示 但在 Outlook 超链接 Gmail | 更新日期: 2023-09-27 17:56:20

我有一个 c# 进程,它向客户发送电子邮件,邮件中带有超链接。 邮件是从 SQL Server 存储过程发送的。 我的 c# 程序只是调用 sp。超链接在Outlook中工作正常,但在在线Gmail上,它仅显示为文本。 它不可点击。我的邮件文本如下所示:

Hi. 
This is the hyperlink:<br>
<a href='"serveraddress'Documents''123_128635312685687531322.gif'">
Click Here</a><br><br>

我应该怎么做才能解决它?

编辑:我的代码:

string email = "xx@gmail.com;
string password = "MyPassword";
var credentials = new NetworkCredential(email, password);
var msg = new MailMessage();
var smtpClient = new SmtpClient("smtp.gmail.com", 587);
msg.From = new MailAddress(email, senderName);
msg.To.Add(new MailAddress(toAddress));
msg.Subject = subject;
msg.Body = message;
msg.IsBodyHtml = true;
smtpClient.EnableSsl = true;
smtpClient.UseDefaultCredentials = false;
smtpClient.Credentials = credentials;
smtpClient.Send(msg);

编辑2:编译正在发送的消息:

string message = @"Hi. <br>
This is the intro line in the mail message.<br>";
using (DataTable dtLinks = data.ExecuteDataSet(@"SELECT * 
                                                    FROM LessonFiles
                                                    WHERE Course = " + dr["Course"].ToString().DBValue() + @" AND 
                                                        Lesson = " + dr["NextLesson"].ToString().DBValue()).Tables[0])
{
int i = 0;
foreach (DataRow drLink in dtLinks.Rows)
{
    i += 1;
    message += "<a href='"" + drLink["Link"].ToString() + "'">" + drLink["Lesson"].ToString();
    message += i == 1 ? "" : " file " + i;
    message += "</a>" + "<br>";
}
}
message += "<br>Regards<br><br>";

邮件中的超链接在 Gmail 中未显示,但在 Outlook 中显示

尝试添加目标="_blank",就像这样...

message += "<a href='"" + drLink["Link"].ToString() + "'"target='"_blank'">" + drLink["Lesson"].ToString();

超链接本身似乎很有趣。使用http://serveraddress/Documents/logoColourBG635315550177822533.jpg似乎有效。
原始路径中包含反斜杠。 它在Outlook中显示超链接的事实使我相信该地址是正确的。感谢您的帮助。

正在创建邮件对象...

var smtp = new System.Net.Mail.SmtpClient();
                    smtp.Host = "smtp.gmail.com";
                    smtp.Port = 587;
                    smtp.EnableSsl = true;
                    smtp.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
                    smtp.Credentials = new NetworkCredential(UserName, Password);
                    smtp.Timeout = 20000;
                    MailMessage Msg = new MailMessage();
                    Msg.IsBodyHtml = true;
                    MailAddress fromMail = new MailAddress(SenderID);
                    Msg.From = fromMail;
                    Msg.To.Add(new MailAddress(TosendID));
                    Msg.Subject = subject;
                    Msg.Body = body;

在正文中添加您的代码.....

希望这有帮助...

相关文章: