2009-09-30 8 views
0

J'ai un script qui envoie un e-mail en tant que texte brut et HTML, et il fonctionne très bien pour la plupart des lecteurs de messagerie, y compris Outlook et Gmail. Cependant, lors de la lecture du message sur un smartphone Windows Mobile, la sortie est:Aide! Envoyer un e-mail HTML via C# - Windows Mobile Outlook le lit comme un charabia

PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDMuMiBGaW5hbC8vRU4i Pg0KPEhUTUw + DQo8SEVBRD4NCiAgICA8TUVUQSBIVFRQLUVRVUlWPSJDb250ZW50LVR5cGUi IENPTlRFTlQ9InRleHQvaHRtbDtjaGFyc2V0PWlzby04ODU5LTEiPg0KICAgIDxUSVRMRT5Z b3VyIE1lZ2Fwb255IFBhc3N3b3JkIC0gTWVnYXBvbnkgLSBEaXNjb3ZlciB0aGUgbmV4dCBi aWcgdGhpbmc8L1RJVExFPg0KICAgIDxTVFlMRSBUWVBFPSJ0ZXh0L2NzcyI + DQogICAgICAg IGE6bGluaywgYTp2aXNpdGVkDQogICAgICAgIHsNCiAgICAgICAgICAgIHRleHQtZGVjb3Jh dGlvbjogdW5kZXJsaW5lOw0KICAgICAgICAgICAgY29sb3I6ICM5MDA7DQogICAgICAgIH0N CiAgICAgICAgYTpob3Zlcg0KICAgICAgICB7DQogICAgICAgICAgICB0ZXh0LWRlY29yYXRp b246IG5vbmU7DQogICAgICAgICAgICBjb2xvcjogIzAwMDsNCiAgICAgICAgfQ0KICAgIDwv U1RZTEU + DQo8L0hFQUQ + DQo8Qk9EWT4NCiAgICA8QSBIUkVGPSJodHRwOi8vd3d3Lm1lZ2Fw b255LmNvbS 8iIFRJVExFPSJNZWdhcG9ueSAtIERpc2NvdmVyIHRoZSBuZXh0IGJpZyB0aGlu ZYI + DQogICAgICAgIDxJTUcgU1JDPSJodHRwOi8vd3d3Lm1lZ2Fwb255LmNvbS9faW1nL21l Z2Fwb255LWhlYWRlci1yZWQuZ2lmIiBXSURUSD0iNjMwIiBIRUlHSFQ9Ijg4IiBBTFQ9Ik1l Z2Fwb255IC0gRGlzY292ZXIgdGhlIG5leHQgYmlnIHRoaW5nIg0KICAgICAgICAgICAgQk9S REVSPSIwIj48L0E + DQogICAgPEZPTlQgU0laRT0iNCIgRkFDRT0iQXJpYWwiPg0KICAgIDxC Uj4NCiAgICA8QlI + DQogICAgWW91ciBNZWdhcG9ueSBwYXNzd29yZCBpczoNCiAgICAgICAg PEJSPg0KICAgICAgICA8QlI + DQogICAgICAgIEt1YnkyNDI0DQogICAgICAgIDxCUj4NCiAg ICAgICAgPEJSPg0KICAgICAgICBHbyB0byANCiAgICA8L0ZPTlQ + DQogICAgPEEgSFJFRj0i aHR0cDovL3d3dy5tZWdhcG9ueS5jb20vIiBUSVRMRT0iTWVnYXBvbnkgLSBEaXNjb3ZlciB0 aGUgbmV4dCBiaWcgdGhpbmciPg0KICAgICAgICA8Rk9OVCBTSVpFPSI0IiBGQUNFPSJBcmlh bCIgQ09MT1I9IiM5OTAwMDAiPk1lZ2Fwb255LmNvbTwvRk9OVD48L0E + DQogICAgICAgIDxG T05UIFNJWkU9IjQiIEZBQ0U9IkFyaWFsIj4NCiAgICAgICAgICAgIHRvIGFjY2VzcyB5b3Vy IGFjY291bnQuDQogICAgICAgICAgICA8QlI + DQogICAgICAgICAgICA8QlI + DQogICAgICAg ICAgICBUaGFuayB5b3UgZm9yIHlvdXIgc3VwcG9ydCBvZiBNZWdhcG9ueSBhb mQgaW5kZXBl bmRlbnQgbXVzaWMhPEJSPg0KICAgICAgICAgICAgPEJSPg0KICAgICAgICAgICAgU2luY2Vy ZWx5LDxCUj4NCiAgICAgICAgICAgIDxCUj4NCiAgICAgICAgICAgIFRoZSBNZWdhcG9ueSBU ZWFtPEJSPg0KICAgICAgICAgICAgPEJSPg0KICAgICAgICAgICAgPEJSPg0KICAgICAgICA8 L0ZPTlQ + PEZPTlQgU0laRT0iMiIgRkFDRT0iQXJpYWwiPipUaGlzIGlzIGFuIGF1dG9tYXRl ZCBtZXNzYWdlLiBQbGVhc2UgZG8gbm90IHJlcGx5LjwvRk9OVD4NCjwvQk9EWT4NCjwvSFRN TD4NCg ==

La sortie correcte devrait être: Click here to see

Le code est:

SmtpClient mC = new SmtpClient(ConfigurationManager.AppSettings["smtpServer"]); 
     NetworkCredential nC = new NetworkCredential(ConfigurationManager.AppSettings["smtpUsername"], ConfigurationManager.AppSettings["smtpPassword"]); 
     mC.UseDefaultCredentials = false; 
     mC.Credentials = nC; 
     MailAddress mFrom = new MailAddress("[email protected]", "Megapony"); 
     MailAddress mTo = new MailAddress(forgotpwemail.Text); 

     MailMessage mMsg = new MailMessage(mFrom, mTo); 


     mMsg.IsBodyHtml = false; 
     mMsg.Subject = "Your Megapony Password"; 

     mMsg.Body = getForgotPWBodyPlain(result); 

     System.Net.Mime.ContentType mimeType = new System.Net.Mime.ContentType("text/html"); 



     AlternateView alternate = AlternateView.CreateAlternateViewFromString(getForgotPWBody(result), mimeType); 

     mMsg.AlternateViews.Add(alternate); 

     try 
     { 

      mC.Send(mMsg); 
      pnlpwform.Visible = false; 
      pnlSuccess.Visible = true; 

     } 
     catch (Exception) 
     { 
      pnlResponse.Visible = true; 
     } 
     mMsg.Dispose(); 

S'il vous plaît aider!

Merci, Paul

Répondre

2

Je dirais que c'est une combinaison du type de contenu et l'image qui est l'origine du problème. Le lien que vous avez fourni a montré un joli gif avec un logo Megapony, mais le type de contenu est défini uniquement sur le texte. Pour cette raison, les bits qui composent le gif sont traités comme une série de caractères de texte.

Ce serait un bon endroit pour commencer: http://www.systemnetmail.com/faq/3.1.3.aspx

+1

Si possible, vous voudrez peut-être d'avoir juste un lien externe à l'image dans votre code HTML au lieu d'intégrer l'image directement dans l'e-mail. Votre stratégie actuelle d'envoi de courrier peut entraîner une utilisation excessive de la bande passante de votre serveur SMTP, en particulier si vous payez un service tiers. –

Questions connexes