我有以下代码:
MailMessage mail = new MailMessage();
SmtpClient SmtpServer = new SmtpClient(Properties.Settings.Default.smtpServer);
mail.From = new MailAddress(Properties.Settings.Default.mailFrom);
mail.To.Add(mailto);
if (!string.IsNullOrEmpty(CC)) {
mail.CC.Add(CC);
};
mail.Subject = subject;
mail.IsBodyHtml = true;
mail.Body = body;
mail.Priority = MailPriority.High;
mail.To.Add(mailto);
SmtpServer.EnableSsl = Properties.Settings.Default.SSL;
SmtpServer.UseDefaultCredentials = false;
SmtpServer.Port = Properties.Settings.Default.smtpPort;
SmtpServer.Credentials = new System.Net.NetworkCredential(Properties.Settings.Default.Username, Properties.Settings.Default.emailPassword);
SmtpServer.DeliveryMethod = SmtpDeliveryMethod.Network;
SmtpServer.Timeout = 200000;
SmtpServer.Send(mail);
markEmailAsSent(uid);
我正在尝试将以下内容作为HTML发送,但是电子邮件并非如此发送,我收到了原始html。我已经加入了mail.IsBodyHtml = true;
所以我不确定为什么这不起作用。
以下是信息的内容:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Trilogy</title>
<style type="text/css">
<!--
.style1 {color: #F33621}
.style4 {font-family: Arial}
.style6 {
font-family: Arial;
font-size: 11pt;
color: #A2A2A2;
}
.style7 {
font-family: "Agency FB";
color: #FFAF9A;
font-size: 10.5pt;
}
.style8 {
font-family: Arial;
font-size: 11pt;
}
.style9 {
font-size: 11pt
}
.header {
font-family: Arial, Helvetica, sans-serif;
font-size: 24px;
font-weight: bold;
}
-->
</style>
</head>
<body>
<p align="left" class="style8">bla bla bla bla bla<br />
<br />
<strong>Sometext</strong>
<br />t: 01666 666 666
<br />e: <a href="mailto:abc@123.net%</a></p>
</body>
</html>
答案 0 :(得分:0)
将html更改为:
<html> <head> <title>Trilogy</title> <style type="text/css"> </style> </head> <body> <p align="left" class="style8">bla bla bla bla bla<br /> <br /> <strong>Sometext</strong> <br />t: 01666 666 666 <br />e: <a href="mailto:abc@123.net"</a></p>
</body> </html>
答案 1 :(得分:0)
根据规范,这个;
<p align="left" class="style8">bla bla bla bla bla<br />
<br />
<strong>Sometext</strong>
<br />t: 01666 666 666
<br />e: <a href="mailto:abc@123.net"</a></p>
应该足够了
答案 2 :(得分:0)
这对我来说适用于大型HTML文件。
MailMessage mail = new MailMessage();
mail.To.Add(new MailAddress(toEmail));
mail.Subject = subject;
mail.From = new MailAddress(fromEmail);
mail.Body = message;
mail.IsBodyHtml = true;
SmtpClient smtpClient = new SmtpClient();
smtpClient.UseDefaultCredentials = false;
smtpClient.Port = smtpPort;
smtpClient.Credentials = new System.Net.NetworkCredential(smtpUser, smtpPass);
smtpClient.EnableSsl = smtpEnableSsl;
smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
smtpClient.Host = smtpHost;
try
{
smtpClient.Send(mail);
log.LogInformation("SUCCESS sent a mail for SUBSCRIPTION - " + tableData.subscription + " and SUBSCRIPTION_ID - " + tableData.subscriptionId);
}
catch (Exception ex)
{
log.LogInformation(ex.ToString());
log.LogInformation("ERROR - Unable to send a mail for SUBSCRIPTION - "+ tableData.subscription +" and SUBSCRIPTION_ID - "+tableData.subscriptionId);
}
Blockquote