将邮件发送到收件人的数组列表

toi*_*ink 2 java jsp servlets jakarta-mail netbeans-7

我在这里得到了这个教程......

如何从jsp/servlet发送电子邮件?

但是,如果我有DATABASE中要发送电子邮件的电子邮件地址列表,该怎么办?

TestMail类

public class TestMail {
    public static void main(String... args) throws Exception {
        // Create mailer.
        String hostname = "smtp.example.com";
        int port = 2525;
        String username = "nobody";
        String password = "idonttellyou";
        Mailer mailer = new Mailer(hostname, port, username, password);

        // Send mail.
        String from = "john.doe@example.com";
        String to = "jane.doe@example.com";
        String subject = "Interesting news";
        String message = "I've got JavaMail to work!";
        mailer.send(from, to, subject, message);
    }
}
Run Code Online (Sandbox Code Playgroud)

JSP

<form action="contact" method="post">
    <p>Your email address: <input name="email"></p>
    <p>Mail subject: <input name="subject"></p>
    <p>Mail message: <textarea name="message"></textarea></p>
    <p><input type="submit"><span class="message">${message}</span></p>
</form>
Run Code Online (Sandbox Code Playgroud)

Servlet的

public class ContactServlet extends HttpServlet {
    private Mailer mailer;
    private String to;

    public void init() {
        // Create mailer. You could eventually obtain the settings as
        // web.xml init parameters or from some properties file.
        String hostname = "smtp.example.com";
        int port = 2525;
        String username = "nobody";
        String password = "forgetit";
        this.mailer = new Mailer(hostname, port, username, password);
        this.to = "you@example.com";
    }

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String email = request.getParameter("email");
        String subject = request.getParameter("subject");
        String message = request.getParameter("message");
        // Do some validations and then send mail:

        try {
            mailer.send(email, to, subject, message);
            request.setAttribute("message", "Mail succesfully sent!");
            request.getRequestDispatcher("/WEB-INF/contact.jsp").forward(request, response);
        } catch (MailException e) {
            throw new ServletException("Mailer failed", e);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Rav*_*avi 6

      ArrayList email= new ArrayList();
      while(rs.next()) {

                email.add(rs.getString("column_name"));
      }


    Message message = new MimeMessage(session);

   InternetAddress[] address = new InternetAddress[email.size()];
    for (int i = 0; i < email.size(); i++) {
        address[i] = new InternetAddress(email.get(i));
    }
     message.setRecipients(Message.RecipientType.TO, address);
Run Code Online (Sandbox Code Playgroud)

  • 什么是新的??? :o你知道'ArrayList`,但不知道`Array`.这让我大吃一惊...... (2认同)