0
ASPX 페이지에서 HTML 페이지를 만들고 이메일로 보내는 aspx 페이지를 개발했습니다.
클라이언트 코드는 jQuery Mobile을 사용합니다. 서버 코드는 이메일을 보내기 위해 SmtpClient를 사용합니다.
IE로 탐색 할 때 모든 것이 잘 작동합니다.
iPhone 브라우저로 탐색 할 때 HTML 페이지가 서버에 만들어 지지만 보내지지 않습니다.iPhone에서 브라우징 할 때 SmtpClient가 작동하지 않습니다.
코드 :이 결국 jQuery를 $("#form1").submit();
를 사용하는 대신 일반 this.form1.submit();
영문 페이지에 의해 해결되었다
TimeZoneInfo israelTimeZone = TimeZoneInfo.FindSystemTimeZoneById("Israel Standard Time");
DateTime utc = DateTime.UtcNow;
DateTime israel = TimeZoneInfo.ConvertTimeFromUtc(utc, israelTimeZone);
string fileName = string.Format("Report_{0}.htm", israel.ToString("ddMMyy_HHmmss"));
StringWriter stringWriter = new StringWriter();
Server.Execute(@"..\Report.aspx", stringWriter);
string reportBody = stringWriter.ToString();
using (StreamWriter streamWriter = File.CreateText(Server.MapPath(@"..\Reports\" + fileName)))
{
streamWriter.WriteLine(reportBody);
streamWriter.Close();
}
MailMessage mail = new MailMessage();
mail.From = new MailAddress("[email protected]");
mail.To.Add(new MailAddress("[email protected]"));
mail.Subject = "New report";
mail.IsBodyHtml = true;
mail.Body = "<html dir='rtl'><head><meta content='text/html; charset=utf-8' http-equiv='Content-Type' /><meta content='he' http-equiv='Content-Language' />" +
"<title>title</title><style type='text/css'>body {font-family: Arial; font-size: 13px;}</style></head><body><p>bla bla bla</p></body></html>";
Attachment attachment = new Attachment(Server.MapPath(@"..\Reports\" + fileName));
mail.Attachments.Add(attachment);
using (SmtpClient smtpClient = new SmtpClient())
{
smtpClient.Host = "smtp.gmail.com";
smtpClient.UseDefaultCredentials = false;
smtpClient.Credentials = new NetworkCredential("[email protected]", "password");
smtpClient.EnableSsl = true;
smtpClient.Send(mail);
}
Safari의 Windows 버전을 사용하면 동일한 결과가 생성됩니다. HTML 페이지는 서버에서 생성되지만 보내지는 않습니다. localhost (VS2010에서 실행 중)를 통해 Safari를 탐색 할 때 모든 것이 잘 작동합니다. 웹 서버 자체의 문제입니까? – toy4fun
어떤 웹 서버를 사용하고 있습니까? –
또한 IE 만 언급했는데 Chrome 및 Firefox와 같은 다른 브라우저는 어떤가? 그들과 함께 작동합니까? –