2017-10-31 2 views
0

PHP로 키릴 자모 이메일을 보내는 데 문제가 있습니다. 내 측면 : 서버 IIS - 데이터베이스 MSSQL을 - 메일 서버 구성 : Exchange 2010/통신 PHP EWS/PHP : 키릴 문자 (우크라이나어 텍스트)로 이메일 보내기

리시버를 통해이 UA 정부에 이메일 수신을위한 특정 소프트웨어 회사를 소유하고 있습니다. 그것은 MS 아웃룩/수동으로 보내/작동합니다.

나는 텍스트로 보내려고했는데/HTML이 아님/PHP 메일러를 사용해 보았습니다. 이미 C#으로 시도 했었습니다. /이 모든 특정 회사/Gmail 또는 hotmail에서 잘 작동하지 않습니다. //.

$ews = new ExchangeWebServices($server, $username, $password); 

$msg = new EWSType_MessageType(); 

$toAddresses = array(); 
$toAddresses[0] = new EWSType_EmailAddressType(); 
$toAddresses[0]->EmailAddress =; 
$toAddresses[0]->Name =; 

$msg->ToRecipients = $toAddresses; 

$fromAddress = new EWSType_EmailAddressType(); 

$fromAddress->EmailAddress =; 
$fromAddress->Name =; 


$msg->From = new EWSType_SingleRecipientType(); 
$msg->From->Mailbox = $fromAddress; 

$msg->Subject = "Test"; 

$msg->Body = new EWSType_BodyType(); 

$msg->Body->BodyType = 'HTML'; //Text HTML 
$msg->Body->_ = $UAText; 

$msgRequest = new EWSType_CreateItemType(); 
$msgRequest->Items = new EWSType_NonEmptyArrayOfAllItemsType(); 
$msgRequest->Items->Message = $msg; 
$msgRequest->MessageDisposition = 'SendAndSaveCopy'; 
$msgRequest->MessageDispositionSpecified = true; 

$response = $ews->CreateItem($msgRequest); 
var_dump($response); 

, 감사합니다

+0

첫 번째 단계는 수신 측에서 지원하는 인코딩을 확인하는 것입니다. "이메일 수신을위한 특정 소프트웨어"가 전자 메일을 보내는 인코딩을 지원하지 않는다면 놀라지 않을 것입니다 (이는 아마도 유니 코드입니다) – apokryfos

답변

0

솔루션과의 정상 Outlook 클라이언트와 작업,하지만하지 내 첫 검사는이 예를 들어 이메일 (솔루션에서 전망에서 하나 하나에서 헤더를 비교하는 것입니다 경우). 나는 content-type이 당신의 솔루션이 아닌 Outlook으로 바르게 설정되어 있다고 생각한다.

솔루션에서 콘텐츠 인코딩을 UTF-8로 설정할 수 있습니다. 그래서 $ UAText 안에있는 내용은 HTML이라고 가정합니다. 따라서 해당 부분을 UTF-8로 표시하려면

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 

그리고 어떻게 작동하는지 확인하십시오. 추가

당신은을 통해 코드 내에서 직접 인코딩을 설정 할 수 있습니다

$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'; 

참고 : 여기에 좋은 starting point regarding the content-type encoding 옵션입니다. 또한 공식 Microsoft 하우투 here을 확인할 수도 있습니다.