2016-03-22 21 views
1

'u kullanarak e-posta gönderirken İleti kodlamasını denetleme Harici e-postalara (destek çağrılarıyla ilgili) e-posta göndermek için Microsoft EWS (Exchange web hizmetleri) kullanıyorum. Müşterilerimizin EWS API

Bir

otomatik (JAVA bence dayandığı) kendi destek çağrısı sisteme e-posta mesajı gövdesini almaya çalışıyor ve bu durum almaya devam:

Desteksiz Kodlama İstisna: iso-8859

-10 yüzden ben (aynı Exchange istemci) benim Outlook e-posta gönderebilir Eğer iyi çalışır UTF8

olarak değiştirmek istedi ettik. Sadece EWS ile gönderildiğinde olur. başlığı altında = "utf-8" etiketi

meta charset: Ben "beden" geçmek dizesi içeren bir HTML

protected void SendEmail2(string recipientsAddresses, string senderAddress, string ccRecipients, string subject, string body, bool CCToSender, bool simulate, Importance messageImportance) 
    { 
     ExchangeService service = null; 
     EmailMessage message = null; 

     try 
     { 
      // initialize a proxy to the exchange web services 
      service = new ExchangeService(MAGMA_EXCHAGE_VERSION); 
      service.Url = new Uri(MAGMA_EWS_URI); 

      // create the message 
      message = new EmailMessage(service); 

      // Add recipients 
      foreach (string recipientEmail in recipientsAddresses.Split(";".ToCharArray())) 
      { 
       message.ToRecipients.Add(new EmailAddress(recipientEmail)); 
      } 

      // handle inline images 
      body = AddInlineImages(message, body); 

      // set everything 
      message.From = new EmailAddress(senderAddress); 
      message.Subject = subject; 
      message.Body = new MessageBody(BodyType.HTML, body); 
      message.Importance = messageImportance; 

      // and send 
      message.Save(); 
      FolderId SentFolderForUser = new FolderId(WellKnownFolderName.SentItems, senderAddress); 
      message.SendAndSaveCopy(SentFolderForUser); 
     } 
     catch (Exception) 
     { 
      throw; 
     } 
    } 

: Burada

kod bu .

Burada eksik olduğum bir şey var mı?

Teşekkürler, Gil.

cevap

0
Bunu recode ve kodlamasını ayarlamak için aşağıdaki gibi bir şey kullanmak isteyebilirsiniz

: benzer olmaya seamed olarak

$ews = new ExchangeWebServices($host, $user, $password, ExchangeWebServices::VERSION_2007_SP1); 
$msg = new EWSType_MessageType(); 
$msg->MimeContent = new EWSType_MimeContentType(); 
$msg->MimeContent->_ = base64_encode("Mime-Version: 1.0\r\n" 
    . "From: [email protected]\r\n" 
    . "To: [email protected]\r\n" 
    . "Subject: nothing\r\n" 
    . "Date: Tue, 15 Feb 2011 22:06:21 -0000\r\n" 
    . "Message-ID: <{0}>\r\n" 
    . "X-Experimental: some value\r\n" 
    . "\r\n" 
    . "I have nothing further to say.\r\n"); 
$msg->MimeContent->CharacterSet = 'UTF-8'; 

ek bu question here bakın.

Not: İşte iyi bir starting point regarding the content-type encoding seçeneği. Ayrıca resmi Microsoft howto here'u da kontrol etmek isteyebilirsiniz.