Я написал код на C #, который должен преобразовывать XML с помощью таблицы стилей XSL, генерировать некоторый HTML и сохранять его локально, где есть XML и XSL, а затем отправлять HTML в виде электронной почты.
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Web.Mail;
using System.Text;
using System.Xml;
using System.Xml.XPath;
using System.Xml.Xsl;
public class SendMail
{
static void Main(string[] args)
{
{
try{
//load the Xml doc
XPathDocument XPathDoc = new XPathDocument(@"C:\Test\svnlog.xml") ;
XslTransform XslTrans = new XslTransform() ;
//load the Xsl
XslTrans.Load(@"C:\Test\svnlog.xsl") ;
//create the output stream
XmlTextWriter Writer = new XmlTextWriter(@"C:\Test\CommitReport.html", null);
//do the actual transform of Xml
XslTrans.Transform(XPathDoc,null, Writer);
Writer.Close() ;
}
catch(Exception ex)
{
Response.Write(ex.Message);
}
using (StreamReader reader = File.OpenText(@"C:\Test\CommitReport.html"))
{
MailMessage Mail = new MailMessage();
Mail.To = ("pqr@dna.com ");
Mail.From = new MailAddress("abc@bac.com");
Mail.Subject = ("Commit Error Report");
Mail.IsBodyHtml = true; //defines that your email is in Html form
Mail.BodyFormat = (@"C:\Test\CommitReport.html");
Mail.Body = reader.ReadToEnd();
}
//create instance of smtpclient
SmtpClient smtp = new SmtpClient();
smtp.EnableSsl = true;
smtp.Send(mail);
}
}
private static void MailAddress(string p)
{
throw new NotImplementedException();
}
}
Я не уверен, что следующая строка сохраняет HTML локально или нет:
XmlTextWriter Writer = new XmlTextWriter(@"C:\Test\CommitReport.html", null);
Я также получаю новую ошибку: «Тип или имя пространства имен« Mail »не существует в пространстве имен« System.Web »(вам не хватает ссылки на сборку?)»