2011-10-09 3 views
1

Java 소켓을 사용하여 전자 메일을 보내려하지만 (Java의 메일 API를 사용하지 않고 전자 메일을 보내려합니다). 나는이 일을해야 일반적으로Java 소켓을 사용하여 전자 메일 보내기

import java.io.*; 
import java.net.*; 
class MailingClient { 

    public void smtp(String command) throws UnknownHostException, IOException { 

     Socket socket=new Socket("smtp.gmail.com",465); 

     BufferedReader br= new BufferedReader(new InputStreamReader(socket.getInputStream())); 
     br.readLine(); 

     OutputStream os = socket.getOutputStream(); 
     os.write(command.getBytes()); 
     smtp("HELLO " + "[email protected]"); 
     smtp("MAIL FROM: "+ "[email protected]"); 
     smtp("DATA"); 
     smtp("yourContent"); 

    } 
    public static void main(String argv[]) throws Exception 
    { 


     MailingClient c=new MailingClient(); 
     c.smtp("HELO"); 


    } 
} 
+4

당신의 급우입니까? http://stackoverflow.com/questions/7703059/send-mail-to-gmail-account 오늘도 이와 똑같은 질문이 있습니다. – BalusC

+0

음 ... 모르겠다. – user841852

+0

나는 동의해야한다. 이것은 숙제 문제처럼 들립니다. – atrain

답변

1

내 코드 아래

감사합니다 ... 내가 어떤 도움을 드릴 것입니다 ... 잘못된 일을하고 코드를 수정하고, 당신은 그냥 '구현해야 전체 SMTP protocol입니다. 소개는 Wikipedia에서 가능합니다. 나는 이것을 위해 실제로 라이브러리를 사용할 것이다.

1

나는 이것을 위해 라이브러리를 사용해야한다고 말하고 싶습니다. 이것이 gmail 계정이라면 gmail이 익명 smtp를 허용하지 않기 때문에 자신을 인증해야합니다. 소켓에 대한 Java 세부 정보를 모르지만 일반적으로 소켓을 만드는 것보다 소켓을 사용하여 더 많은 작업을 수행해야합니다. 유닉스 네트워크 프로그래밍 부분 나는 소켓의 사용을 다룬다. 즉, 메일 서버는 귀하의 요청에 대한 응답을 귀하의 소켓 쌍에서 읽을 수도 있습니다.