2012-06-09 4 views
5

구글 어플 리케이션 엔진을 사용하여이 코드로 이메일을 보내기 만하면됩니다. 하지만 아무 일도 일어나지 않습니다. 메일 API를 사용하기 위해 구성해야하는 항목이 있습니까? 이것은 localhost에서 실행됩니다. Gmail을 메일 호스트로 사용하고 있습니다.구글 앱 엔진으로 이메일 보내기

String host = "smtp.google.com"; 
String to = "[email protected]"; 
String from = "[email protected]"; 
String subject = "this is a test"; 
String messageText = "test"; 
boolean sessionDebug = false; 
// Create some properties and get the default Session. 
Properties props = System.getProperties(); 
props.put("mail.host", host); 
props.put("mail.transport.protocol", "smtp"); 
Session mailSession = Session.getDefaultInstance(props, null); 

// Set debug on the Session 
// Passing false will not echo debug info, and passing True will. 

mailSession.setDebug(sessionDebug); 

// Instantiate a new MimeMessage and fill it with the 
// required information. 

Message msg = new MimeMessage(mailSession); 
msg.setFrom(new InternetAddress(from)); 
InternetAddress[] address = { new InternetAddress(to) }; 
msg.setRecipients(Message.RecipientType.TO, address); 
msg.setSubject(subject); 
msg.setSentDate(new Date()); 
msg.setText(messageText); 

// Hand the message to the default transport service 
// for delivery. 

Transport.send(msg); 

답변

9

은 메일 서비스를 통해 전송 된 것을 실제로 전송되지 않습니다 - 단지 응용 프로그램이 실행되면

here

를 참조 콘솔에 기록됩니다 개발 서버가 전자 메일 메시지를 보내도록 메일 서비스를 호출하면 메시지가 로그에 인쇄됩니다. Java 개발 서버는 전자 메일 메시지를 보내지 않습니다.

또한, from 주소는 앱 관리자

  • Google 계정
  • 를 사용하여 로그인 현재 로그인 한 사용자의 이메일의 이메일

    • (here에서)해야합니다
    • 앱의 유효한 이메일 수신 주소
    +0

    그럼 GAE 프로젝트에서 이메일을 보낼 방법이 없습니까? 아니면 그냥이 방법을 사용하지 않습니까? – Nick

    +0

    특정 주소에서만 가능하며 로컬 개발 서버는 전자 메일을 콘솔에 기록합니다 – jimr

    1

    보낸 사람이 SMTP 서버를 인증 할 필요가 있기 때문에 [email protected]

    이유는 대신 자신의 Gmail 이메일 주소 여야합니다. 로컬 AppEngine에 개발 서버를 실행하는 경우

    0

    이메일 이외의 다른 이메일은 로컬에서 작동하지 않습니다. 호스트 또는 발신자 이메일이 인증 된 메일이 아니기 때문에 버전이 기본 메일이 아니더라도 이메일이 작동하지 않는다는 것을 경험했습니다. 나는 어디서나이 문서를 찾을 수 없었다. 예를 들어

    : 이 nondefaultversion-dot-myapp.appspot.com (이메일이 작동하지 않는, 아니 오류 로그) myapp.appspot.com (이메일 작품)

    다른 사람들이이 문제에 직면 한 경우 확인하시기 바랍니다.

    1

    분명히 GAE에서는 더 이상 관리자 계정을 사용할 수 없습니다. [email protected]

    이전의 프로젝트는 여전히 관리 계정에서 작동하지만 최근에 생성 된 프로젝트에서는 관리자 계정을 사용할 수 없습니다.