发送系统生成的邮件时用C#格式化邮件正文
我正在尝试从c#发送电子邮件,问题是当我的正文中的iam格式设置发送系统生成的邮件时用C#格式化邮件正文,c#,email,visual-studio-2012,C#,Email,Visual Studio 2012,我正在尝试从c#发送电子邮件,问题是当我的正文中的iam格式设置似乎不起作用时,我需要使用此换行符的任何解决方案,我还需要在邮件正文中创建表。下面是我的代码,其中body1是我的电子邮件内容的主体 var fromAddress = new MailAddress("something@gmail.com", "Name"); const string fromPassword = "pwd123"; const string subject =
似乎不起作用时,我需要使用此换行符的任何解决方案,我还需要在邮件正文中创建表。下面是我的代码,其中body1是我的电子邮件内容的主体
var fromAddress = new MailAddress("something@gmail.com", "Name");
const string fromPassword = "pwd123";
const string subject = "System generated test mail ";
string email = bind_email(analyst);
string body1 = "Hi " + analyst.ToString();
body1 = body1 + "<br/>";
body1 = body1 + " This is system generated test mail for " + Session["TaskAssigned"].ToString();
body1 = body1 + " To be competed before" + Session["Enddate"].ToString() + "<br/><br/> ";
var smtp = new SmtpClient
{
Host = "smtp.gmail.com",
Port = 587,
EnableSsl = true,
DeliveryMethod = SmtpDeliveryMethod.Network,
UseDefaultCredentials = false,
Credentials = new NetworkCredential(fromAddress.Address, fromPassword)
};
using (var message = new MailMessage()
{
From = fromAddress,
Subject = subject,
Body = body1,
})
{
message.To.Add(email);
smtp.Send(message);
}
var fromAddress=新邮件地址(“something@gmail.com“,”姓名“);
const string fromPassword=“pwd123”;
const string subject=“系统生成的测试邮件”;
字符串电子邮件=绑定电子邮件(分析师);
字符串body1=“Hi”+analyst.ToString();
body1=body1+“
”;
body1=body1+“这是系统为“+会话[“任务分配”]生成的测试邮件。ToString();
body1=body1+“将在“+会话[“Enddate”]之前竞争。ToString()+”
”;
var smtp=新SmtpClient
{
Host=“smtp.gmail.com”,
端口=587,
EnableSsl=true,
DeliveryMethod=SmtpDeliveryMethod.Network,
UseDefaultCredentials=false,
凭据=新网络凭据(fromAddress.Address,fromPassword)
};
使用(var message=new MailMessage()
{
From=fromAddress,
主语,
Body=body1,
})
{
message.To.Add(电子邮件);
smtp.Send(message);
}
必须在邮件消息设置中设置IsBodyHtml=true
mailMessage = new MailMessage()
{
From = new MailAddress(senderAddress),
Subject = subject,
Body = message,
IsBodyHtml = true
};
在消息中使用html标记而不是纯文本
希望这有帮助。您的问题是您没有将MailMessage.IsBodyHtml指定为true。您可以使用真正的html格式化您的身体 我曾经格式化我从html生成的电子邮件。首先创建一个test.html:
<html>
<body>
<p>
Hi #analyst#
<br/>
This is a system generated test mail for #task_assigned# to be completed before #enddate#
<br/>
<br/>
</p>
</body>
</html>
您是否将isHtml=设置为真?
var fromAddress = new MailAddress("something@gmail.com", "Name");
const string fromPassword = "pwd123";
const string subject = "System generated test mail ";
string email = bind_email(analyst);
System.IO.StreamReader sr = new System.IO.StreamReader(Server.MapPath("~/App_Data/test.html"));
string body1 = sr.ReadToEnd();
body1 = body1.Replace("#analyst#", analyst.ToString());
body1 = body1.Replace("#task_assigned#", Session["TaskAssigned"].ToString());
body1 = body1.Replace("#enddate#", Session["Enddate"].ToString());
var smtp = new SmtpClient
{
Host = "smtp.gmail.com",
Port = 587,
EnableSsl = true,
DeliveryMethod = SmtpDeliveryMethod.Network,
UseDefaultCredentials = false,
Credentials = new NetworkCredential(fromAddress.Address, fromPassword)
};
using (var message = new MailMessage()
{
From = fromAddress,
Subject = subject,
Body = body1,
IsBodyHtml = true
})
{
message.To.Add(email);
smtp.Send(message);
}
Hope this helps