C# 缺少用于在Visual C中发送HTML中没有特定文本的电子邮件#

C# 缺少用于在Visual C中发送HTML中没有特定文本的电子邮件#,c#,html,.net,wcf,email,C#,Html,.net,Wcf,Email,我写这篇文章是为了问程序中非常奇怪的问题 该计划的目的是收集信息并向用户发送电子邮件 但是,如果没有特定的单词或HTML代码,它不会发送电子邮件 请参阅下面的消息 lstReport.Add(“这是一封PCR准备电子邮件。请参阅以下内容。谢谢…”) 如果我们把这一行放在HTML代码中,它将发送电子邮件。但是没有这条线 它不会发送电子邮件,并没有任何错误,并没有被服务器或防火墙阻止的异常 请参阅下面的电子邮件设置 private void SendMail(string fileName, Str

我写这篇文章是为了问程序中非常奇怪的问题

该计划的目的是收集信息并向用户发送电子邮件

但是,如果没有特定的单词或HTML代码,它不会发送电子邮件

请参阅下面的消息

lstReport.Add(“这是一封PCR准备电子邮件。请参阅以下内容。谢谢…”)

如果我们把这一行放在HTML代码中,它将发送电子邮件。但是没有这条线

它不会发送电子邮件,并没有任何错误,并没有被服务器或防火墙阻止的异常

请参阅下面的电子邮件设置

private void SendMail(string fileName, StringBuilder message){

        MailMessage mail;
        SmtpClient client;
        mail = new MailMessage();
        mail.From = new MailAddress(FromAddress);
        foreach (string to in ToAddress)
        {
            mail.To.Add(to);
        }
        mail.Subject = Subject + fileName;
        mail.Body = message.ToString();
        mail.IsBodyHtml = true;
        mail.Priority = MailPriority.High;
        client = new SmtpClient(MailServer);
        client.Send(mail);
    }
如果有人知道这件事,请向我解释

提前谢谢

请参阅下面的正文

lstReport.Add("<table><tr><td> This is a PCR Preparation Email. Please Refer to the below Contents. Thanks... </td></tr><tr><td></td></tr></table>"); 
lstReport.Add("<table border='0'><tr><td style=font-size: 10pt; font-family: Arial;>Number of Blots :");
lstReport.Add(Convert.ToString(blotCount) + "</td></tr><tr height=2><td style=font-size: 10pt; font-family:Arial;>&nbsp;</td></tr><tr><td style=font-size: 10pt; font-family: Arial;>Technician  :");
lstReport.Add(dtDiscrepancy.Rows[0]["UserName"].ToString() + "&nbsp;</td></tr><tr height=2><td style=font-size: 10pt; font-family:Arial;>&nbsp;</td></tr><tr><td style=font-size: 10pt; font-family: Arial;>MM LotNumber  :");
lstReport.Add(dtDiscrepancy.Rows[0]["LotNumber"].ToString() + "&nbsp;</td></tr><tr height=2><td style=font-size: 10pt; font-family:Arial;>&nbsp;</td></tr><tr><td style=font-size: 10pt; font-family: Arial;>MM Volume  :");
lstReport.Add("<tr><td style=font-size: 10pt; font-family: Arial;>&nbsp;</td></tr><tr><td style=font-size: 10pt; font-family: Arial;>Please find below, the details of plates </td></tr> <tr><td style=font-size: 10pt; font-family: Arial;></td></tr><tr><td style=font-size: 10pt; font-family: Arial;>");
lstReport.Add("<table border=1 width=78% cellspacing=0 cellpadding=0><tr><td>&nbsp;</td></tr><tr><td width=13% style=font-size: 10pt; font-family: Arial;><b>PCRBlotName</b></td><td width=13% style=font-size: 10pt; font-family: Arial;><b>PCRPlateName</b></td><td width=13% style=font-size: 10pt; font-family: Arial;><b>DNABlotName</b></td><td width=13% style=font-size: 10pt; font-family: Arial;><b>DNAPlateName</b></td><td width=13% style=font-size: 10pt; font-family: Arial;><b>DNAVolume</b></td><td width=13% style=font-size: 10pt; font-family: Arial;><b>PrimerLocusGroup</b></td><td width=13% style=font-size: 10pt; font-family: Arial;><b>DNAMatch</b></td><td width=13% style=font-size: 10pt; font-family: Arial;><b>PrimerMatch</b></td></tr>");
lstReport.Add(Environment.NewLine);
lstReport.Add(tableHeader);
lstReport.Add(“这是一封PCR准备电子邮件,请参考以下内容。谢谢…”);
lstReport.Add(“污点数量:”);
lstReport.Add(转换为字符串(blottcount)+“技师:”;
lstrept.Add(dtdiscience.Rows[0][“UserName”].ToString()+“MM LotNumber:”);
lstReport.Add(dtdiscience.Rows[0][“LotNumber”].ToString()+“MM Volume:”);
lstReport.Add(“请在下面找到铭牌的详细信息”);
添加(“pcrBlotNamepcrPlateNamedNablotNamedNaplateNamedNavolumePrimerLocusGroupdNamatch”);
lstReport.Add(Environment.NewLine);
lstReport.Add(tableHeader);
首先,在使用完您的
邮件消息
SmtpClient
后,您应该先使用它

using (var mail = new MailMessage())
{
    using (var client = new SmtpClient(MailServer))
    {
        mail.From = new MailAddress(FromAddress);
        foreach (string to in ToAddress)
        {
            mail.To.Add(to);
        }
        mail.Subject = Subject + fileName;
        mail.Body = message.ToString();
        mail.IsBodyHtml = true;
        client.Send(mail); 
    }
}
然后删除
mail.Priority=MailPriority.High
我敢打赌,您在电子邮件正文消息中发送的html格式不正确。
仔细检查是否有未关闭的标签或未替换的字符。

使用类似于smtp服务器的应用程序查看是否正在发送电子邮件

如果您发送太频繁或未经适当身份验证,Smtp服务器可能会阻止您的电子邮件


有许多垃圾邮件过滤器…

请确保您的邮件服务器允许您使用它。请管理团队给予许可:)发布完整的邮件正文并更改您的问题文本:不清楚何时发送邮件,何时不发送感谢您的回答,但我认为这不是因为许可,因为我可以发送电子邮件,如果我写“这是一封PCR准备电子邮件。请参考以下内容。谢谢…”代码中包含此消息。谢谢Giammin,我尝试发布,但由于HTML代码格式,无法发布。我将尝试发布它
>“
您正在结束/关闭第一行中的表标记。应该在Environment.NewLine上方的行中关闭。还有,为什么不在方法或其他东西中以更干净的方式构建html表呢。这是一个有点混乱和难以遵循的关于sRolling你能简单地向我解释一下如何处置MailMessage和SmtpClient吗?