Как отправить почту из JavaMail через Localhost - PullRequest
0 голосов
/ 18 января 2010

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

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

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

    PrintWriter out = response.getWriter();
    try {
        String host = "localhost";
        String from = "root@localhost.localdomain";

        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("root@localhost.localdomain");

        message.setFrom(fromAddress);

        InternetAddress to = new InternetAddress("sendToAliases@localhost.localdomain");
        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();
    }
} 

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

Спасибо.

1 Ответ

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

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

...