C# Reportviewer通过gmail发送电子邮件
我正在开发一个WinForm,其中嵌入了reportviewer 如何通过gmail/yahoo发送电子邮件并将此报告作为pdf格式附加? 我看了这篇文章 但不确定它是否只适用于Outlook等桌面电子邮件客户端,还是支持基于web的电子邮件客户端 提前谢谢C# Reportviewer通过gmail发送电子邮件,c#,smtpclient,report-viewer2010,C#,Smtpclient,Report Viewer2010,我正在开发一个WinForm,其中嵌入了reportviewer 如何通过gmail/yahoo发送电子邮件并将此报告作为pdf格式附加? 我看了这篇文章 但不确定它是否只适用于Outlook等桌面电子邮件客户端,还是支持基于web的电子邮件客户端 提前谢谢 const string HTML_TAG_PATTERN=”“; const string HTML_TAG_PATTERN = "<.*?>"; static string StripHTML(string inputStr
const string HTML_TAG_PATTERN=”“;
const string HTML_TAG_PATTERN = "<.*?>";
static string StripHTML(string inputString)
{
return Regex.Replace(inputString, HTML_TAG_PATTERN, string.Empty);
}
public static void sendMessage()
{
var username = "john.doe@gmail.com";
var password = "password";
MailAddress MailFrom = new MailAddress("john.doe@gmail.com");
MailAddress MailTo = new MailAddress("john.doe@gmail.com");
var subject = "TEST SUBJECT";
var attachmentPath = "test.pdf";
var mailBody = "<b>test</b>";
NetworkCredential cred = new NetworkCredential(username, password);
System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient();
smtp.Host = "smtp.gmail.com";
smtp.UseDefaultCredentials = false;
smtp.EnableSsl = true;
smtp.Credentials = cred;
smtp.Port = 587;
MailMessage mail = new MailMessage();
mail.IsBodyHtml = true;
AlternateView avAlternateView = null;
Encoding myEncoding = Encoding.GetEncoding("UTF-8");
avAlternateView = AlternateView.CreateAlternateViewFromString(StripHTML(mailBody), myEncoding, "text/plain");
mail.AlternateViews.Add(avAlternateView);
avAlternateView = AlternateView.CreateAlternateViewFromString(mailBody, myEncoding, "text/html");
mail.AlternateViews.Add(avAlternateView);
mail.Sender = MailFrom;
mail.From = MailFrom;
mail.ReplyTo = MailFrom;
mail.To.Add(MailTo);
mail.Subject = subject;
mail.SubjectEncoding = Encoding.GetEncoding("UTF-8");
mail.BodyEncoding = Encoding.GetEncoding("UTF-8");
Attachment attachment = new Attachment(attachmentPath);
mail.Attachments.Add(attachment);
try
{
smtp.Send(mail);
}
catch (Exception ex)
{
}
}
静态字符串StripHTML(字符串输入字符串)
{
返回Regex.Replace(inputString,HTML\u TAG\u PATTERN,string.Empty);
}
公共静态void sendMessage()
{
var username=“约翰。doe@gmail.com";
var password=“password”;
MailAddress MailFrom=新的邮寄地址(“john。doe@gmail.com");
MailAddress MailTo=新的邮寄地址(“john。doe@gmail.com");
var subject=“测试对象”;
var attachmentPath=“test.pdf”;
var mailBody=“测试”;
NetworkCredential cred=新的NetworkCredential(用户名、密码);
System.Net.Mail.SmtpClient smtp=新系统.Net.Mail.SmtpClient();
smtp.Host=“smtp.gmail.com”;
smtp.UseDefaultCredentials=false;
smtp.EnableSsl=true;
smtp.Credentials=cred;
smtp.Port=587;
MailMessage mail=新的MailMessage();
mail.IsBodyHtml=true;
AlternateView avAlternateView=null;
Encoding myEncoding=Encoding.GetEncoding(“UTF-8”);
avAlternateView=AlternateView.CreateAlternateViewFromString(StripHTML(邮件正文),myEncoding,“text/plain”);
mail.alternateView.Add(AvalernateView);
avAlternateView=AlternateView.CreateAlternateViewFromString(邮件体,myEncoding,“text/html”);
mail.alternateView.Add(AvalernateView);
mail.Sender=MailFrom;
mail.From=MailFrom;
mail.ReplyTo=MailFrom;
mail.To.Add(MailTo);
mail.Subject=主题;
mail.SubjectEncoding=Encoding.GetEncoding(“UTF-8”);
mail.BodyEncoding=Encoding.GetEncoding(“UTF-8”);
附件附件=新附件(attachmentPath);
mail.Attachments.Add(附件);
尝试
{
smtp.发送(邮件);
}
捕获(例外情况除外)
{
}
}