2010-04-23 4 views
1

Я использую следующий метод для отправки электронной почты в моторном сервлета Google App:Google App Engine Email

void Send_Email(String From,String To,String Message_Text) 
    { 
    Properties props=new Properties(); 
    Session session=Session.getDefaultInstance(props,null); 
    try 
    { 
     Message msg=new MimeMessage(session); 
     msg.setFrom(new InternetAddress(From,"nmjava.com Admin")); 
     msg.addRecipient(Message.RecipientType.TO,new InternetAddress(To,"Ni , Min")); 
     msg.setSubject("Servlet Message"); 
     msg.setText(Message_Text); 
     Transport.send(msg); 
    } 
    catch (Exception ex) 
    { 
     // ... 
    } 
    } 

Но это не работает, я пропустил что-нибудь? Кто-нибудь получил функцию электронной почты?


Edit: я исправил Строка/Text часть, но функция электронной почты по-прежнему не работает, он говорит, электронные письма были отправлены, но я проверил мой почтовый ящик, никто не получил. Я запустил его на сервере Google, что случилось?

+1

Ловля всех исключений, а затем игнорирование их - это отличный способ сделать вашу жизнь более трудной. Не делай этого. –

ответ

3

Я понял, мне нужно указать его адрес Gmail в качестве отправителя, иначе никакое электронное письмо не выйдет.

0

Я мало знаю о Java, но, возможно, если вы удалили материал try/catch, вы могли бы увидеть, что такое ошибка на самом деле?

Согласно документации:

«Когда приложение, запущенное на сервере разработки вызывает службу почты для отправки сообщения электронной почты, сообщение печатается в журнале Сервер разработки Java не отправить. сообщение электронной почты."

Что-нибудь появляется в журнале?

+1

Где находится журнал, я не могу найти его в папке проекта. – Frank

+0

Когда вы работаете в режиме разработки, ваши журналы будут печататься там, где работает ваш сервер (также почта не будет отправлена ​​с сервера разработки). Когда он будет развернут, журналы будут видны из Консоли администратора: http://code.google.com/appengine/docs/java/runtime.html#Logging –

+0

Да, я нашел его в сети, журнал ошибок говорит: Неотключенное исключение из сервлета java.lang.IllegalArgumentException: content: Строковые свойства должны быть не более 500 символов. Вместо этого используйте com.google.appengine.api.datastore.Text, который может хранить строки любой длины. – Frank