2013-07-16 2 views
0

내 응용 프로그램에서는 전자 메일을 보내기 위해 MS Exchange 서버를 사용하고 있습니다. 그러나 우리는 SMTP를 사용하지 않습니다. SMTP를 사용하지 않고 메일을 보내야합니다.스칼라 또는 자바에서 SMTP를 사용하지 않고 교환 서버로 메일 보내기

이전에 저는 SMTP가있는 Gail 서버로 메일을 보냅니다. 하지만 SMTP를 사용하지 않고 Exchange 서버를 사용하여 메일을 보내는 솔루션을 찾지 못했습니다. PHP 코드

<?php 

// Set basic message parameters 
$from = '[email protected]'; 
$to = '[email protected]'; 
$subject = 'Test Message'; 
$message = 'Hello'; 

// Set additional headers for HTML email 
$headers = 'MIME-Version: 1.0' . "\n"; 
$headers .= 'Content-type: text/html; charset=utf-8' . "\n"; 
$headers .= 'X-Mailer: PHP/' . phpversion() . "\n"; 
$headers .= 'From: ' . $from; 

// Send mail 
if (mail($to, $subject, $message, $headers)) { 
     echo 'Message sent'; 
} else { 
     echo 'Message sending failed'; 
} 

?> 

는 SMTP 포트 및 호스트를 사용하지 않고 메일을 보낼 수 있나요 :

나에게이

편집에 대한 좋은 해결책을 제시하세요?

+0

이전에 사용하던 메일을 보내기위한 PHP 코드를 업데이트했습니다. 나도 잘 모르는 PHP를 많이 모른다. – Rishi

+0

PHP 코드의'mail()'메소드는 어디에서 왔습니까? 그것을 보여줄 수 있습니까? –

+0

mail() 함수는 PHP에서 기본입니다. 매뉴얼 페이지는 다음에서 찾을 수 있습니다 : http://php.net/manual/en/function.mail.php – Rishi

답변

0

기본적으로 SMTP 서버와 상호 작용하지 않고 전자 메일을 보낼 수 없습니다 (암시 적으로 발생할 수 있음).

PHP의 mail() 기능은 실제로 네이티브 바이너리를 실행 (예를 들어, 리눅스/유닉스 환경에 sendmail 명령은 있지만, 윈도우에 제대로 작동하려면 몇 가지 구성이 필요합니다 - 당신이 있습니까있는 OS?). 같은 메커니즘을 사용하려는 경우

그래서, 이진 sendmail 명령을 호출 (ProcessBuilder, Runtime.exec() 친구는 자바, 또는 스칼라의 scala.sys.process.package).

+0

리눅스를 사용하고 있습니다 – Rishi

+0

다음'sendmail' 명령을 호출하십시오 (올바르게 설정되었다고 가정하십시오. 리눅스 박스에서 직접 메일 보내기). – rlegendi

+0

이 메서드를 호출하는 방법과 매개 변수를 전달해야합니까? 간단히 말해 줄 수있어? – Rishi

0

서버에서 액세스 할 수있는 경우 Exchange 웹 서비스를 사용하여 전자 메일을 보낼 수 있습니다.

Here EWS Java API를 다운로드 할 수 있습니다. 꽤 오래된 코드이며, 이메일을 보내기에 충분해야합니다.

관련 문제