2010-01-18 3 views
0

Я создаю форму, которая отправит детали по электронной почте, после чего пользователь заполнит свои данные и нажмет кнопку «Отправить».Как отправить почту с JavaMail через Localhost

отправки почты с JavaMail:

protected void processRequest(HttpServletRequest request, HttpServletResponse response) 
throws ServletException, IOException { 

    PrintWriter out = response.getWriter(); 
    try { 
     String host = "localhost"; 
     String from = "[email protected]"; 

     try { 
     Properties props = System.getProperties(); 
     props.put("mail.smtp.host", host); 
     props.put("mail.smtp.user", from); 
     props.put("mail.debug", "true"); 

     Session session = Session.getDefaultInstance(props, null); 
     session.setDebug(true); 
     Transport transport = session.getTransport("smtp"); 

     MimeMessage message = new MimeMessage(session); 
     Address fromAddress = new InternetAddress("[email protected]"); 

     message.setFrom(fromAddress); 

     InternetAddress to = new InternetAddress("[email protected]"); 
     message.addRecipient(Message.RecipientType.TO, to); 

     message.setSubject("Email Details Sending"); 
     message.setText("This is my testing content."); 

     transport.connect(host, from); 
     message.saveChanges(); 
     Transport.send(message); 
     transport.close(); 
    } finally { 
     out.close(); 
    } 
} 

Я использую псевдонимы электронной почты для [email protected], который означает, что я мог бы иметь 4 псевдонимы из sendToAliases. Тем не менее, я не могу получить никаких писем при развертывании и запуске вышеуказанного почтового файла. Может кто-нибудь, пожалуйста, посоветуйте мне?

спасибо.

+2

У вас есть SMTP-сервер? –

+0

Да, я просто сделал telnet myserver 25 –

ответ

2
  • Вы проверили файлы журнала?
  • Получаете ли вы какие-либо исключения или ошибки при запуске программы?
  • У вас есть сервер SMTP, работающий под управлением localhost?
  • Принимает ли сервер SMTP соединения с localhost?
  • Можете ли вы отправлять электронные письма через этот сервер с помощью обычного почтового клиента и получать их как-то?
  • Попробуйте сделать вашу программу самостоятельной программой командной строки и попытаться выполнить его

Вы, кажется, недостающее цитату в message.setSubject("Email Details Sending);. Вы уверены, что ваш сервлет действительно компилируется?

+0

Привет, Я протестировал это, отправив письма из командной строки с помощью telnet, это отлично работает. Что касается message.setSubject («Отправка сообщений электронной почты»), это опечатка из-за вставки. У меня это в коде. Компиляция в порядке. –

Смежные вопросы