2013-08-19 3 views
0

Я разработал страницу aspx, которая создает HTML-страницу со страницы ASPX и отправляет ее по электронной почте.
В клиентском коде используется jQuery Mobile. Код сервера использует SmtpClient для отправки электронной почты.
При просмотре с помощью IE все работает хорошо.
При просмотре с помощью браузера iPhone HTML-страница создается на сервере, но не получает ее.SmtpClient не работает при работе с iPhone

Код:

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); 
} 
+0

Просмотр в версии Safari версии Windows дает тот же результат - HTML-страница создается на сервере, но не получает посылку. При просмотре с помощью Safari через localhost (работает в VS2010) - все работает хорошо. Проблема в самом веб-сервере? – toy4fun

+0

Какой веб-сервер вы используете? –

+0

Кроме того, вы упомянули только IE, как насчет других браузеров, таких как Chrome и Firefox? работает ли с ними? –

ответ

0

Это было в конечном счете решить, используя JQuery $("#form1").submit(); вместо на странице ASPX регулярное this.form1.submit();.