static void Main(string[] args)
{
string mailTitle = "Mail test";
string mailTo = "[email protected]";
string mailBody = @"jjiodsjjerhj grjgoieroirgjoierjgodfgioejkojgoerjgoireoigmoerognoerimgomerjgoirejiojedofmmkdsnfg.dsmfl'sakjfpqwjfksdjfger"; System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage(); message.Subject = mailTitle;
message.Body = mailBody; message.SubjectEncoding = System.Text.Encoding.UTF8;
message.BodyEncoding = System.Text.Encoding.UTF8;
IDictionary<string, Stream> col = Export();
foreach (KeyValuePair<string, Stream> item in col)
{
Attachment report = new Attachment(item.Value, "Report.xml");
message.Attachments.Add(report);
}
Attachment reportStyle = new Attachment(@"H:\TestI\Report.xslt");
message.Attachments.Add(reportStyle);
message.To.Add(mailTo); MailAddress from = new MailAddress("[email protected]", "Hcao", System.Text.Encoding.UTF8); message.From = from; SmtpClient client = new SmtpClient();
client.Host = "mail.wicresoft.com";
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.Send(message);
Console.WriteLine(message.Body);
}
public static IDictionary<string, Stream> Export()
{
string xmlFileName;
string xmlFileContent;
//string xsltFileName;
//string xsltFileContent;
Dictionary<string, Stream> dictionary;
Stream FileStream;
StreamWriter outerXmlFile; XmlDocument xmlDoc = new XmlDocument();
XmlNode declarationNode = xmlDoc.CreateXmlDeclaration("1.0", "utf-8", "");
xmlDoc.AppendChild(declarationNode);
XmlElement report = xmlDoc.CreateElement("report");
xmlDoc.AppendChild(report); xmlFileName = "Report.xml";
xmlFileContent = xmlDoc.InnerXml;
//xsltFileName = "Report.xslt";
//xsltFileContent = Resources.Report;
dictionary = new Dictionary<string, Stream>(); FileStream = new MemoryStream();
outerXmlFile = new StreamWriter(FileStream);
outerXmlFile.WriteLine(xmlFileContent);
outerXmlFile.Flush();
dictionary.Add(xmlFileName, FileStream); //outerXmlFile = new StreamWriter(FileStream);
//outerXmlFile.WriteLine(xsltFileContent);
//outerXmlFile.Flush();
//dictionary.Add(xsltFileName, FileStream); return dictionary; }
两个方法:main() 和Export(),Export()负责导出文件流stream,该流通过main函数发送邮件,但是发过去时为什么附件保存下来后为0kb,即文件里没有任何东西
请各位大侠执教
{
string mailTitle = "Mail test";
string mailTo = "[email protected]";
string mailBody = @"jjiodsjjerhj grjgoieroirgjoierjgodfgioejkojgoerjgoireoigmoerognoerimgomerjgoirejiojedofmmkdsnfg.dsmfl'sakjfpqwjfksdjfger"; System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage(); message.Subject = mailTitle;
message.Body = mailBody; message.SubjectEncoding = System.Text.Encoding.UTF8;
message.BodyEncoding = System.Text.Encoding.UTF8;
IDictionary<string, Stream> col = Export();
foreach (KeyValuePair<string, Stream> item in col)
{
Attachment report = new Attachment(item.Value, "Report.xml");
message.Attachments.Add(report);
}
Attachment reportStyle = new Attachment(@"H:\TestI\Report.xslt");
message.Attachments.Add(reportStyle);
message.To.Add(mailTo); MailAddress from = new MailAddress("[email protected]", "Hcao", System.Text.Encoding.UTF8); message.From = from; SmtpClient client = new SmtpClient();
client.Host = "mail.wicresoft.com";
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.Send(message);
Console.WriteLine(message.Body);
}
public static IDictionary<string, Stream> Export()
{
string xmlFileName;
string xmlFileContent;
//string xsltFileName;
//string xsltFileContent;
Dictionary<string, Stream> dictionary;
Stream FileStream;
StreamWriter outerXmlFile; XmlDocument xmlDoc = new XmlDocument();
XmlNode declarationNode = xmlDoc.CreateXmlDeclaration("1.0", "utf-8", "");
xmlDoc.AppendChild(declarationNode);
XmlElement report = xmlDoc.CreateElement("report");
xmlDoc.AppendChild(report); xmlFileName = "Report.xml";
xmlFileContent = xmlDoc.InnerXml;
//xsltFileName = "Report.xslt";
//xsltFileContent = Resources.Report;
dictionary = new Dictionary<string, Stream>(); FileStream = new MemoryStream();
outerXmlFile = new StreamWriter(FileStream);
outerXmlFile.WriteLine(xmlFileContent);
outerXmlFile.Flush();
dictionary.Add(xmlFileName, FileStream); //outerXmlFile = new StreamWriter(FileStream);
//outerXmlFile.WriteLine(xsltFileContent);
//outerXmlFile.Flush();
//dictionary.Add(xsltFileName, FileStream); return dictionary; }
两个方法:main() 和Export(),Export()负责导出文件流stream,该流通过main函数发送邮件,但是发过去时为什么附件保存下来后为0kb,即文件里没有任何东西
请各位大侠执教
{ string fileName = new Guid().ToString() + ".xml";
string fileContent = string.Empty; using (StreamReader sr = new StreamReader(stream))
{
fileContent = sr.ReadToEnd();
} using (StreamWriter sw = new StreamWriter("c:\\" + file,false))
{
sw.Write(fileContent);
} }
怎么删除这个临时文件啊?
f = new FileInfo(FileName);
f.delete();